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

質問編集履歴

3

コードに間違いがあったため

2022/08/04 04:00

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -67,7 +67,7 @@
67
67
 
68
68
  public static void main(String[] args) throws IOException {
69
69
  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
70
- MusicData[] data = new HumanData[2];
70
+ HumanData[] data = new HumanData[2];
71
71
 
72
72
  for(int i = 0; i< data.length; i++) {
73
73
  System.out.println("データを入力してください");

2

コードに間違いがあったため再度編集しました

2022/08/03 23:24

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -57,7 +57,7 @@
57
57
  }
58
58
 
59
59
  public void show() {
60
- System.out.println("氏名:" + name + "、性別:" + sex + "、職業:" + profession + "、年:" + あげ + "");
60
+ System.out.println("氏名:" + name + "、性別:" + sex + "、職業:" + profession + "、年:" + age + "");
61
61
  }
62
62
 
63
63
  }

1

少し進めて、実現したい配列を格納することはできました。しかしこの年齢部分を参照してソートする部分がまだわかりません。

2022/08/03 22:42

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -28,33 +28,61 @@
28
28
 
29
29
  ```Java
30
30
  class HumanData{
31
- private String name;
31
+ private String name;
32
- private String sex;
32
+ private String sex;
33
- private String pro;
33
+ private String profession;
34
+ int age;
35
+
36
+ public void setFields(String n, String s, String p, int a) {
37
+ name = n;
38
+ sex = s;
39
+ profession = p;
40
+ age = a;
41
+ }
42
+
43
+ public String getName() {
44
+ return name;
45
+ }
46
+
47
+ public String getSex() {
48
+ return sex;
49
+ }
50
+
51
+ public String Profession() {
52
+ return profession;
53
+ }
54
+
55
+ public int getAge() {
34
- private String age;
56
+ return age;
57
+ }
58
+
59
+ public void show() {
60
+ System.out.println("氏名:" + name + "、性別:" + sex + "、職業:" + profession + "、年:" + あげ + "");
61
+ }
35
62
 
36
- public void setData(String H_name, String H_sex, String H_pro, int a){
37
- name = H_name;
38
- sex = H_sex;
39
- pro = H_pro;
40
- age = a;
41
- }
63
+ }
42
- public String getName(){
43
- return name;
44
- }
45
- public String getSex(){
46
- return sex;
47
- }
48
- public String getPro(){
49
- return Pro;
50
- }
51
- public String getAge(){
52
- return age;
53
- }
54
64
 
65
+
55
- public class main{
66
+ public class Data {
67
+
56
- public static void main(String args[]) {
68
+ public static void main(String[] args) throws IOException {
69
+ BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
70
+ MusicData[] data = new HumanData[2];
71
+
72
+ for(int i = 0; i< data.length; i++) {
73
+ System.out.println("データを入力してください");
74
+ String H_name = br.readLine();
75
+ String H_sex = br.readLine();
76
+ String H_profession = br.readLine();
77
+ String H_age = br.readLine();
78
+ int ag = Integer.parseInt(H_age);
79
+ data[i] = new HumanData();
80
+ data[i].setFields(H_name, H_sex, H_profession, ag);
57
- }
81
+ }
82
+ for(int i = 0; i< data.length; i++) {
83
+ data[i].show();
84
+ }
85
+ }
58
86
  }
59
87
 
60
88
 
@@ -65,6 +93,9 @@
65
93
  多次元配列なのか、など色々調べてみましたがどうやって実装したらよいのか分かりませんでした。
66
94
  思ったのは何らかの配列Xに【氏名、性別、職業、年齢】を格納し、Xの4番目を参照してソートするなどの方法はどうなのかとは思っているのですがどうやったらいいのか分からないので、ご意見お伺いしたいです。
67
95
 
96
+ 追記:様々なソートのやり方を試してみたのですが、自分のやり方が違うのか上手く出来ませんでした。
97
+ なにかこの場合の方法をご教授いただければと思います
98
+
68
99
  ### 補足情報(FW/ツールのバージョンなど)
69
100
 
70
101
  ここにより詳細な情報を記載してください。