質問編集履歴
3
コードを修正しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -15,7 +15,8 @@
|
|
15
15
|
|
16
16
|
### 該当のソースコード
|
17
17
|
|
18
|
+
|
18
|
-
```
|
19
|
+
```Java
|
19
20
|
class Quiz9A {
|
20
21
|
public static void main(String[] args) {
|
21
22
|
String[][] senbatsu = {
|
@@ -68,6 +69,7 @@
|
|
68
69
|
}
|
69
70
|
}
|
70
71
|
}
|
72
|
+
```
|
71
73
|
|
72
74
|
|
73
75
|
```
|
2
ソースコードを修正しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -6,15 +6,12 @@
|
|
6
6
|
|
7
7
|
・senbatsuの情報を並び替える
|
8
8
|
・アルファベット順になるようにする
|
9
|
-
・「 ////ここから書き換える////」「/////ここまで////」の間のプログラムを変更したい
|
10
9
|
|
11
10
|
|
12
11
|
### 発生している問題・エラーメッセージ
|
13
12
|
|
14
|
-
・1行目と2行目の}が無い
|
15
|
-
|
13
|
+
・みな様からのアドバイスをもとにプログラムを修正したのですが、
|
16
|
-
|
17
|
-
|
14
|
+
”name”の列をアルファベット順にソートすることができません。
|
18
15
|
|
19
16
|
### 該当のソースコード
|
20
17
|
|
@@ -43,28 +40,25 @@
|
|
43
40
|
int k,i,j,leadi;
|
44
41
|
String lead, tmp;
|
45
42
|
for(k=1; k<senbatsu.length-1; k++){
|
46
|
-
|
47
|
-
|
43
|
+
|
48
|
-
|
49
|
-
//
|
44
|
+
// k行目以下の先頭値leadとその行番号leadiを探す
|
50
|
-
String lead =senbatsu[1][0];
|
51
|
-
int leadi = 1;
|
52
|
-
for(k=2;k<senbatsu.length;k++){
|
53
|
-
if(lead.compareTo(senbatsu[k][0])>0){
|
54
|
-
|
45
|
+
lead = senbatsu[k][0];
|
55
|
-
|
46
|
+
leadi = k;
|
47
|
+
for (i=k+1; i < senbatsu.length; i++) {
|
48
|
+
if(senbatsu[i][0].compareTo(lead)>0){
|
49
|
+
lead =senbatsu[i][0];
|
50
|
+
leadi =i;
|
56
51
|
}
|
52
|
+
|
53
|
+
// k行とleadi行(先頭行)を入替.入替時に変数tmpを使用する
|
54
|
+
for (j = 0; j < senbatsu[0].length; j++) {
|
55
|
+
tmp = senbatsu[k][j];
|
56
|
+
senbatsu[k][j] = senbatsu[leadi][j];
|
57
|
+
senbatsu[leadi][j] = tmp;
|
58
|
+
}
|
59
|
+
}
|
57
60
|
}
|
58
|
-
|
59
|
-
// k行とleadi行(先頭行)を入替.入替時に変数tmpを使用する
|
60
|
-
for(j=0;j<senbatsu[0].length;j++){
|
61
|
-
tmp = senbatsu[k][j];
|
62
|
-
senbatsu[k][j] = senbatsu[leadi][j];
|
63
|
-
senbatsu[leadi][j] = tmp;
|
64
|
-
}
|
65
|
-
}
|
66
|
-
|
67
|
-
/////
|
61
|
+
/////
|
68
62
|
for(i=0; i<senbatsu.length; i++){
|
69
63
|
System.out.print(senbatsu[i][0]);
|
70
64
|
for(j=1; j<senbatsu[i].length; j++){
|
@@ -75,17 +69,20 @@
|
|
75
69
|
}
|
76
70
|
}
|
77
71
|
|
72
|
+
|
78
73
|
```
|
79
74
|
|
80
75
|
### 試したこと
|
81
76
|
|
82
|
-
|
77
|
+
29行目を次のように変更しました。
|
78
|
+
変更前:i=k
|
83
|
-
|
79
|
+
変更後:i=k+1
|
84
|
-
|
80
|
+
※先頭行の次から比較対象とするためi=k+1にしました。
|
85
81
|
|
82
|
+
しかし、上記に変更しても、最初の4行までしか入れかえを行うことができません。
|
83
|
+
どの箇所がまちがっているのか、アドバイスいただけないでしょうか。
|
84
|
+
よろしくお願いいたします。
|
86
85
|
|
87
|
-
どのようにすればよいか、ご教示いただけないでしょうか。
|
88
|
-
よろしくお願いいたします。
|
89
86
|
|
90
87
|
### 補足情報(FW/ツールのバージョンなど)
|
91
88
|
|
1
コードにミスがあったため、修正しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
### 該当のソースコード
|
20
20
|
|
21
|
-
```
|
21
|
+
```
|
22
22
|
class Quiz9A {
|
23
23
|
public static void main(String[] args) {
|
24
24
|
String[][] senbatsu = {
|