teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

9

コードの修正

2020/07/09 05:18

投稿

CarpeDiemnosiru
CarpeDiemnosiru

スコア4

title CHANGED
File without changes
body CHANGED
@@ -32,12 +32,12 @@
32
32
  average = sum / 8.0;
33
33
  double ssum = 0;
34
34
  ssum += sqr(score[0][i/2] - average);
35
- sd = Math.sqrt(ssum / 8);
35
+ sd = Math.sqrt(ssum / (args.length/2));
36
36
  double hensachi = 50 + ((score[0][i/2] - average)/sd )* 10;
37
37
  score[1][i] = hensachi;
38
38
 
39
39
  } System.out.println("Average = " + average);
40
- System.out.println("Standard Deviation = " + sd);
40
+ System.out.println("Standard Deviation = " + sd);
41
41
  for(i = 0; i < 16; i += 2 ) {
42
42
 
43
43
  double scoreX = score[0][i/2];
@@ -61,6 +61,7 @@
61
61
  }
62
62
 
63
63
 
64
+
64
65
  ```
65
66
 
66
67
  結果は以下の通りになります。

8

iの表記を変更

2020/07/09 05:18

投稿

CarpeDiemnosiru
CarpeDiemnosiru

スコア4

title CHANGED
File without changes
body CHANGED
@@ -17,14 +17,11 @@
17
17
 
18
18
  int i = 0;
19
19
  double sum = 0;
20
+ double average = 0;
21
+ double sd = 0;
22
+
20
23
  String names[] = new String[args.length/2];
21
24
  double score[][] = new double[2][args.length/2];
22
- double average = sum / 8.0;
23
- double ssum = 0;
24
- ssum += sqr(score[0][i/2] - average);
25
- double sd = Math.sqrt(ssum / args.length);
26
- System.out.println("Average = " + average);
27
- System.out.println("Standard Deviation = " + sd);
28
25
 
29
26
  for(i = 0; i < args.length; i += 2 ) {
30
27
  names[i/2] = args[i];
@@ -32,10 +29,16 @@
32
29
  sum += score[0][i/2];
33
30
 
34
31
  }for(i = 0; i < score[0].length; i ++ ) {
32
+ average = sum / 8.0;
33
+ double ssum = 0;
34
+ ssum += sqr(score[0][i/2] - average);
35
+ sd = Math.sqrt(ssum / 8);
35
36
  double hensachi = 50 + ((score[0][i/2] - average)/sd )* 10;
36
37
  score[1][i] = hensachi;
37
38
 
39
+ } System.out.println("Average = " + average);
40
+ System.out.println("Standard Deviation = " + sd);
38
- }for(i = 0; i < 16; i += 2 ) {
41
+ for(i = 0; i < 16; i += 2 ) {
39
42
 
40
43
  double scoreX = score[0][i/2];
41
44
  String s = new java.text.DecimalFormat("0.#").format(scoreX );
@@ -47,6 +50,7 @@
47
50
  System.out.println(ss);
48
51
 
49
52
  }
53
+
50
54
  }
51
55
 
52
56
  private static double sqr(double d) {
@@ -55,21 +59,21 @@
55
59
 
56
60
 
57
61
  }
62
+
63
+
58
64
  ```
59
65
 
60
66
  結果は以下の通りになります。
61
- Average = 0.0
67
+ Average = 75.875
62
- Standard Deviation = 0.0
68
+ Standard Deviation = 4.640388251536718
63
- Anne 100
69
+ Anne 100 78.3
64
- Glbert 99
70
+ Glbert 99 78.3
65
- Diana 60
71
+ Diana 60 78.3
66
- Emily 89
72
+ Emily 89 78.3
67
- Bryce 79
73
+ Bryce 79 21.7
68
- Jane 74
74
+ Jane 74 21.7
69
- Kilmeny 42
75
+ Kilmeny 42 78.3
70
- Marigold 64
76
+ Marigold 64 78.3
71
-
72
-
73
77
  ### 試したこと
74
78
 
75
79
  18行目から21行目の式を変えてみたりしましたが、うまくいきません。

7

コードの修正

2020/07/09 05:14

投稿

CarpeDiemnosiru
CarpeDiemnosiru

スコア4

title CHANGED
File without changes
body CHANGED
@@ -22,7 +22,7 @@
22
22
  double average = sum / 8.0;
23
23
  double ssum = 0;
24
24
  ssum += sqr(score[0][i/2] - average);
25
- double sd = Math.sqrt(ssum / 8);
25
+ double sd = Math.sqrt(ssum / args.length);
26
26
  System.out.println("Average = " + average);
27
27
  System.out.println("Standard Deviation = " + sd);
28
28
 

6

タイトルの変更

2020/07/09 05:06

投稿

CarpeDiemnosiru
CarpeDiemnosiru

スコア4

title CHANGED
@@ -1,1 +1,1 @@
1
- 標準偏差を正しく求めたい。
1
+ 偏差を正しく求めたい。
body CHANGED
File without changes

5

コードの修正

2020/07/09 03:35

投稿

CarpeDiemnosiru
CarpeDiemnosiru

スコア4

title CHANGED
File without changes
body CHANGED
@@ -19,6 +19,12 @@
19
19
  double sum = 0;
20
20
  String names[] = new String[args.length/2];
21
21
  double score[][] = new double[2][args.length/2];
22
+ double average = sum / 8.0;
23
+ double ssum = 0;
24
+ ssum += sqr(score[0][i/2] - average);
25
+ double sd = Math.sqrt(ssum / 8);
26
+ System.out.println("Average = " + average);
27
+ System.out.println("Standard Deviation = " + sd);
22
28
 
23
29
  for(i = 0; i < args.length; i += 2 ) {
24
30
  names[i/2] = args[i];
@@ -26,10 +32,6 @@
26
32
  sum += score[0][i/2];
27
33
 
28
34
  }for(i = 0; i < score[0].length; i ++ ) {
29
- double average = sum / 8.0;
30
- double ssum = 0;
31
- ssum += sqr(score[0][i/2] - average);
32
- double sd = Math.sqrt(ssum / 8);
33
35
  double hensachi = 50 + ((score[0][i/2] - average)/sd )* 10;
34
36
  score[1][i] = hensachi;
35
37
 
@@ -45,7 +47,6 @@
45
47
  System.out.println(ss);
46
48
 
47
49
  }
48
-
49
50
  }
50
51
 
51
52
  private static double sqr(double d) {
@@ -54,21 +55,21 @@
54
55
 
55
56
 
56
57
  }
58
+ ```
57
59
 
58
-
59
- ```
60
60
  結果は以下の通りになります。
61
- Average = 75.875
61
+ Average = 0.0
62
- Standard Deviation = 8.52947554806273
62
+ Standard Deviation = 0.0
63
- Anne 100 78.3
63
+ Anne 100
64
- Glbert 99 77.1
64
+ Glbert 99
65
- Diana 60 31.4
65
+ Diana 60
66
- Emily 89 65.4
66
+ Emily 89
67
- Bryce 79 53.7
67
+ Bryce 79
68
- Jane 74 47.8
68
+ Jane 74
69
- Kilmeny 42 10.3
69
+ Kilmeny 42
70
- Marigold 64 36.1
70
+ Marigold 64
71
71
 
72
+
72
73
  ### 試したこと
73
74
 
74
75
  18行目から21行目の式を変えてみたりしましたが、うまくいきません。

4

iの表記を変更

2020/07/09 03:33

投稿

CarpeDiemnosiru
CarpeDiemnosiru

スコア4

title CHANGED
File without changes
body CHANGED
@@ -17,49 +17,45 @@
17
17
 
18
18
  int i = 0;
19
19
  double sum = 0;
20
- String names[] = new String[args.length];
20
+ String names[] = new String[args.length/2];
21
- double score[][] = new double[2][args.length];
21
+ double score[][] = new double[2][args.length/2];
22
22
 
23
23
  for(i = 0; i < args.length; i += 2 ) {
24
- names[i] = args[i];
24
+ names[i/2] = args[i];
25
- score[0][i] = Double.parseDouble(args[i + 1]);
25
+ score[0][i/2] = Double.parseDouble(args[i + 1]);
26
- sum += score[0][i];
26
+ sum += score[0][i/2];
27
27
 
28
- } for(i = 0; i < score[0].length; i ++ ) {
28
+ }for(i = 0; i < score[0].length; i ++ ) {
29
29
  double average = sum / 8.0;
30
30
  double ssum = 0;
31
- ssum += sqr(score[0][i] - average);
31
+ ssum += sqr(score[0][i/2] - average);
32
32
  double sd = Math.sqrt(ssum / 8);
33
+ double hensachi = 50 + ((score[0][i/2] - average)/sd )* 10;
34
+ score[1][i] = hensachi;
33
35
 
34
- for(i = 0; i < score[0].length; i++) {
36
+ }for(i = 0; i < 16; i += 2 ) {
35
- double hensachi = 50 + ((score[0][i] - average)/sd )* 10;
36
- score[1][i] = hensachi;
37
- }
38
- System.out.println("Average = " + average);
39
- System.out.println("Standard Deviation = " + sd);
40
37
 
41
- for(i = 0; i < 16; i += 2 ) {
38
+ double scoreX = score[0][i/2];
39
+ String s = new java.text.DecimalFormat("0.#").format(scoreX );
40
+ double scoreY = score[1][i/2];
41
+ String ss = new java.text.DecimalFormat("0.#").format(scoreY);
42
42
 
43
- double scoreX = score[0][i];
44
- String s = new java.text.DecimalFormat("0.#").format(scoreX );
45
- double scoreY = score[1][i];
46
- String ss = new java.text.DecimalFormat("0.#").format(scoreY);
43
+ System.out.print(" " + names[i/2] + " ");
44
+ System.out.print(s + " ");
45
+ System.out.println(ss);
47
46
 
48
- System.out.print(" " + names[i] + " ");
49
- System.out.print(s + " ");
50
- System.out.println(ss);
51
- }
47
+ }
52
48
 
53
- }
54
49
  }
50
+
55
51
  private static double sqr(double d) {
56
52
  return d * d;
57
53
  }
58
54
 
59
55
 
60
-
61
56
  }
62
57
 
58
+
63
59
  ```
64
60
  結果は以下の通りになります。
65
61
  Average = 75.875

3

インデントを調整

2020/07/09 03:17

投稿

CarpeDiemnosiru
CarpeDiemnosiru

スコア4

title CHANGED
File without changes
body CHANGED
@@ -14,52 +14,52 @@
14
14
  public class Seiseki2 {
15
15
 
16
16
  public static void main(String[] args) {
17
-
17
+
18
- int i = 0;
18
+ int i = 0;
19
- double sum = 0;
19
+ double sum = 0;
20
- String names[] = new String[args.length];
20
+ String names[] = new String[args.length];
21
- double score[][] = new double[2][args.length];
21
+ double score[][] = new double[2][args.length];
22
-
22
+
23
- for(i = 0; i < args.length; i += 2 ) {
23
+ for(i = 0; i < args.length; i += 2 ) {
24
- names[i] = args[i];
24
+ names[i] = args[i];
25
- score[0][i] = Double.parseDouble(args[i + 1]);
25
+ score[0][i] = Double.parseDouble(args[i + 1]);
26
- sum += score[0][i];
26
+ sum += score[0][i];
27
-
27
+
28
- } for(i = 0; i < score[0].length; i ++ ) {
28
+ } for(i = 0; i < score[0].length; i ++ ) {
29
- double average = sum / 8.0;
29
+ double average = sum / 8.0;
30
- double ssum = 0;
30
+ double ssum = 0;
31
- ssum += sqr(score[0][i] - average);
31
+ ssum += sqr(score[0][i] - average);
32
- double sd = Math.sqrt(ssum / 8);
32
+ double sd = Math.sqrt(ssum / 8);
33
-
33
+
34
- for(i = 0; i < score[0].length; i++) {
34
+ for(i = 0; i < score[0].length; i++) {
35
- double hensachi = 50 + ((score[0][i] - average)/sd )* 10;
35
+ double hensachi = 50 + ((score[0][i] - average)/sd )* 10;
36
- score[1][i] = hensachi;
36
+ score[1][i] = hensachi;
37
- }
38
- System.out.println("Average = " + average);
39
- System.out.println("Standard Deviation = " + sd);
40
-
41
- for(i = 0; i < 16; i += 2 ) {
42
-
43
- double scoreX = score[0][i];
44
- String s = new java.text.DecimalFormat("0.#").format(scoreX );
45
- double scoreY = score[1][i];
46
- String ss = new java.text.DecimalFormat("0.#").format(scoreY);
47
-
48
- System.out.print(" " + names[i] + " ");
49
- System.out.print(s + " ");
50
- System.out.println(ss);
51
- }
52
-
53
37
  }
54
- }
38
+ System.out.println("Average = " + average);
39
+ System.out.println("Standard Deviation = " + sd);
40
+
55
- private static double sqr(double d) {
41
+ for(i = 0; i < 16; i += 2 ) {
42
+
43
+ double scoreX = score[0][i];
44
+ String s = new java.text.DecimalFormat("0.#").format(scoreX );
45
+ double scoreY = score[1][i];
46
+ String ss = new java.text.DecimalFormat("0.#").format(scoreY);
47
+
48
+ System.out.print(" " + names[i] + " ");
49
+ System.out.print(s + " ");
56
- return d * d;
50
+ System.out.println(ss);
57
51
  }
58
-
59
52
 
60
-
53
+ }
61
54
  }
55
+ private static double sqr(double d) {
56
+ return d * d;
57
+ }
62
58
 
59
+
60
+
61
+ }
62
+
63
63
  ```
64
64
  結果は以下の通りになります。
65
65
  Average = 75.875

2

情報の追加

2020/07/09 02:17

投稿

CarpeDiemnosiru
CarpeDiemnosiru

スコア4

title CHANGED
File without changes
body CHANGED
@@ -61,6 +61,17 @@
61
61
  }
62
62
 
63
63
  ```
64
+ 結果は以下の通りになります。
65
+ Average = 75.875
66
+ Standard Deviation = 8.52947554806273
67
+ Anne 100 78.3
68
+ Glbert 99 77.1
69
+ Diana 60 31.4
70
+ Emily 89 65.4
71
+ Bryce 79 53.7
72
+ Jane 74 47.8
73
+ Kilmeny 42 10.3
74
+ Marigold 64 36.1
64
75
 
65
76
  ### 試したこと
66
77
 

1

誤字

2020/07/09 01:37

投稿

CarpeDiemnosiru
CarpeDiemnosiru

スコア4

title CHANGED
File without changes
body CHANGED
@@ -70,7 +70,6 @@
70
70
 
71
71
  最終的な形は以下の通りにしたいと思っています。
72
72
 
73
- ```ここに言語を入力
74
73
  Average = 75.9
75
74
  Standard Deviation = 18.85
76
75
  Anne 100 62.8