ArrayListについては以下のように宣言します。
arraylistの書き方
ArrayList<型> リスト名 = new ArrayList<型>();
(引用先: https://techacademy.jp/magazine/18607)
ただ、こちらの書き方の方が良いようで、詳しくは引用先でご確認ください。
ArrayList<String> values = new ArrayList<String>();
これは書いては行けないコードで,正しくは
List<String> values = new ArrayList<String>();
と書くべき
(引用先: https://qiita.com/Mura-Mi/items/e52c28ab7cb5db140d53)
以上のことから
今回Listで管理しようとしているクラスはHumanクラスかと思います(Javaではクラス名の先頭文字を大文字にするように言われるので、humanからHumanにしました)ので、型はHumanで、
List<Human> humanList = new ArrayList<Human>();
と書けるかと思います。
また、java7以降であれば右のジェネリクス内の型は省略可能なので、
List<Human> humanList = new ArrayList<>();
と書けます。
質問者さんのコードを尊重したもの
Java
1import java.util.List;
2import java.util.ArrayList;
3import java.util.Scanner;
4
5public class Main {
6
7 public static void main(String[] args) {
8 Scanner sc = new Scanner(System.in);
9 List<Human> humanList = new ArrayList<>();
10
11 System.out.println("Register:R");
12 System.out.println("Exit:E");
13
14 String str = sc.next();
15
16 while(!(str.equals("E"))) {
17 if(str.equals("R")){
18 System.out.println("name?");
19 String name = sc.next();
20 System.out.println("sex?");
21 String sex = sc.next();
22 System.out.println("age?");
23 int age = sc.nextInt();
24 humanList.add(new Human(name, sex, age));
25 System.out.println("Register:R");
26 System.out.println("Change:C");
27 System.out.println("Exit:E");
28 } else if(str.equals("C")) {
29 System.out.print("name?:");
30 String name = sc.next();
31 System.out.print("age:");
32 int age = sc.nextInt();
33 for(int i = 0; i < humanList.size(); i++) {
34 if(humanList.get(i).name.equals(name)) {
35 humanList.get(i).age = age;
36 }
37 }
38 }
39 str = sc.next();
40 }
41
42 }
43
44}
45
46class Human {
47
48 final String name;
49 final String sex;
50 int age = 0;
51
52 Human(String name, String sex, int age) {
53 this.name = name;
54 this.sex = sex;
55 this.age = age;
56 }
57
58}
59
自分なりに作ったもの(これが良いというわけでもないですが)
Java
1import java.util.List;
2import java.util.ArrayList;
3import java.util.Scanner;
4
5public class Main {
6
7 public static void main(String[] args) {
8 Scanner sc = new Scanner(System.in);
9 List<Human> humanList = new ArrayList<>();
10
11 System.out.println("Register:R");
12 System.out.println("Exit:E");
13
14 String str = sc.next();
15 String name, sex;
16 int age;
17
18 while(!(str.equals("E"))) {
19 if(str.equals("R")){
20 System.out.println("name?");
21 name = sc.next();
22 System.out.println("sex?");
23 sex = sc.next();
24 System.out.println("age?");
25 age = sc.nextInt();
26 humanList.add(new Human(name, sex, age));
27 System.out.println("Register:R");
28 System.out.println("Change:C");
29 System.out.println("Exit:E");
30 } else if(str.equals("C")) {
31 System.out.print("name?:");
32 name = sc.next();
33 System.out.print("age:");
34 age = sc.nextInt();
35 for(int i = 0; i < humanList.size(); i++) {
36 if(humanList.get(i).isEqualsName(name)) {
37 humanList.get(i).setAge(age);
38 }
39 }
40 }
41 str = sc.next();
42 }
43
44 }
45
46}
47
48class Human {
49
50 private final String name;
51 private final String sex;
52 private int age = 0;
53
54 Human(String name, String sex, int age) {
55 this.name = name;
56 this.sex = sex;
57 this.age = age;
58 }
59
60 public void setAge(int oldAge) {
61 age = oldAge;
62 }
63
64 public int getAge() {
65 return age;
66 }
67
68 public boolean isEqualsName(String comparisonName) {
69 return name.equals(comparisonName);
70 }
71
72}
73
あと、<code>タグで囲むのは良いのですが、上のようにインデントすることも大切です。