Java学习(1)
用到的类: Math,ArrayList,Scanner。
类的引入:
import java.util.ArrayList;
import java.util.Scanner;
main方法:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
ArrayList<Student> studentList = new ArrayList<Student>(); // 新建一个数组
while (true) {
System.out.println("---------------------测试测试---------------------------------");
System.out.println("1. 存储姓名");
System.out.println("2. 打印全部");
System.out.println("3. 随机输出");
System.out.println("4. 修改学生信息");
System.out.println("5. 退出程序");
System.out.println("---------------------测试测试---------------------------------");
int Number = sc.nextInt();
switch (Number) {
case 1:
SaveName(studentList);
continue;
case 2:
PrintAll(studentList);
continue;
case 3:
PrintRandom(studentList);
continue;
case 4:
changeStudent(studentList);
continue;
case 5:
break;
}
}
SaveName方法: 保存学生姓名.
public static void SaveName(ArrayList<Student> list) {
Scanner sc = new Scanner(System.in);
Student s = new Student();
System.out.println("存储姓名");
System.out.println("存储第"+ (list.size() + 1) + "名学生的姓名:");
s.name = sc.next();
System.out.println("存储第"+ (list.size() + 1) + "名学生的年龄:");
s.age = sc.nextInt();
list.add(s);
}
PrintRandom方法:随机输出
public static void PrintRandom(ArrayList<Student> list) {
int Num = list.size();
System.out.println("共有学生:"+ Num + "名;");
int randomNum = (int)(Math.random() * (Num - 1));
System.out.print("第" + (randomNum + 1) + "名学生姓名是: "+list.get(randomNum).name);
System.out.println(",年龄是: "+list.get(randomNum).age);
}
PrintAll方法:全部输出
public static void PrintAll(ArrayList<Student> list) {
for(int i = 0; i < list.size(); i ++) {
System.out.print("第" + (i+1) + "名学生姓名是: "+list.get(i).name);
System.out.println(",年龄是: "+list.get(i).age);
}
}
changeStudent方法: 修改学生信息
public static void changeStudent(ArrayList<Student> list) {
// 根据姓名找到学生,展示学生信息,提示修改学生信息
System.out.println("请输入学生姓名: ");
Scanner sc = new Scanner(System.in);
String x = sc.next();
for(int i = 0; i < list.size(); i ++) {
System.out.println(list.get(i).name);
System.out.println(x);
System.out.println(x.equals(list.get(i).name));
if(x.equals(list.get(i).name)) {
System.out.println("第" + (i + 1) + "名学生,姓名: " + list.get(i).name + ",年龄: " + list.get(i).age);
System.out.println("请选择修改内容");
System.out.println("1. 姓名");
System.out.println("2. 年龄");
int ty = sc.nextInt();
switch (ty) {
case 1:
System.out.println("名字:");
list.get(i).name = sc.next();
continue;
case 2:
System.out.println("年龄:");
list.get(i).age = sc.nextInt();
continue;
default:
break;
}
System.out.println("第" + (i + 1) + "名学生,姓名: " + list.get(i).name + ",年龄: " + list.get(i).age);
}
}
}
测试结果:
---------------------测试测试---------------------------------
1. 存储姓名
2. 打印全部
3. 随机输出
4. 修改学生信息
5. 退出程序
---------------------测试测试---------------------------------
思路: 学生列表是一个长度不固定的数组,因此使用ArrayList数据类型。
Scanner sc = new Scanner(System.in); // 键盘输入 新建一个Scanner类
String name = sc.next(); // 输入字符串类型
int agr = sc.nextInt(); // 输入整形
// 比较字符串是否相等
// 1. str.equals(str); --- 比较的是里面的值
String str1 = "abc";
String str2 = "def";
String str3 = "abc";
str1.equals(str2); // false
str1.equals(str3); // true
// 2. == 比较两个对象的引用是否相等; 如果两个字符串引用的是同一个对象,则相等,否则不相等
String str1 = "abc";
String str2 = "abc";
String str3 = new String("abc");
str1 == str2; // true
str1 == str3; // false
Scanner sc = new
Scanner.next(); // 获取字符串的内容
ArrayList的方法:
get(index); // 获取具体某一项
size(); // 获取ArrayList的长度