1.6手动输入类的成员信息
基本思路:先对成员函数进行赋值, 然后把类对象添加到集合中去
import java.sql.SQLOutput; import java.util.*; import java.awt.*; import java.lang.Math; public class hello { public static void main(String []avgs) { //创建集合 ArrayList<Student> s=new ArrayList<>(); //集合 Scanner sc=new Scanner(System.in); for(int i=0;i<3;i++){ //因为集合的数量我们不清楚,所以要手动操作 Student stu=new Student(); //放在这里目的是为了进行一次可以初始化一次. System.out.println("请输入您的姓名:"); String name=sc.next(); stu.setName(name); System.out.println("请输入您的年龄:"); int age=sc.nextInt(); stu.setAge(age); //添加对象 s.add(stu); } System.out.println(s); // 这样直接遍历的是地址 for(int i=0;i<s.size();i++){ Student stu=s.get(i); //依次得到s1,s2,s3 System.out.println(stu.getName()+" "+stu.getAge()); } } }
注意事项: new一次一个地址
1.7通过查找比对相等输出成员信息
题目描述:有三个对象,成员分别有 ID PASSWORLD NAME三个成员变量,现在我们通过指定的ID 对集合进行查找,如果集合里面存在的话,那么我们就把这个ID的所有信息 罗列出来。否则的话,我们就不进行罗列。让他们重新输入整确的信息为止。
import java.sql.SQLOutput; import java.util.*; import java.awt.*; import java.lang.Math; public class hello { public static void main(String []avgs) { //创建集合 ArrayList<User> us=new ArrayList<>(); User u1=new User("吉士先生","l21032114",121788); User u2=new User("小哈喇子","w21032114",121789); User u3=new User("大聪明","t21032114",121777); //添加集合: us.add(u1); us.add(u2); us.add(u3); System.out.println("请输入您的Id"); Scanner sc=new Scanner(System.in); while(true) { try { //在这里进行异常处理的操作, String id=sc.next(); User s = Judge(us, id); System.out.println("用户名是:" + s.getName() + " " + "ID是:" + s.getId() + " " + "密码是:" + s.getPassworld()); break; } catch (Exception e) { System.out.println("您输入的信息不存在!请重试!!:"); } } } //设置成员方法,目的是为了减少空间的占用情况 public static User Judge(ArrayList<User> us,String id){ for(int i=0;i<us.size();i++){ User s=us.get(i); //对集合遍历得到的是一个对象 if(s.getId().equals(id)){ return s; } } return null; } }
1.8通过价格查找在某个范围的情况下输出所有信息:
基本思路,在方法的时候。新建一个集合。假如说元素满足条件的话。就让这个元素放到一个新的集合里面,最后返回新的集合,就好了。
import java.sql.SQLOutput; import java.util.*; import java.awt.*; import java.lang.Math; public class hello { public static void main(String []avgs) { //创建集合 ArrayList<User> us=new ArrayList<>(); User u1=new User("吉士先生","l21032114",3500); User u2=new User("小哈喇子","w21032114",2200); User u3=new User("大聪明","t21032114",3100); //添加集合: us.add(u1); us.add(u2); us.add(u3); ArrayList<User> s = Judge(us); for(int i=0;i<s.size();i++) { User k=new User(); k=s.get(i); System.out.println("用户名是:" + k.getName() + " " + "ID是:" + k.getId() + " " + "密码是:" + k.getPassworld()); } } public static ArrayList<User> Judge(ArrayList<User> us){ ArrayList<User> m=new ArrayList<>(); for(int i=0;i<us.size();i++){ User s=us.get(i); //对集合遍历得到的是一个对象 int price=s.getPassworld(); //得到价格 if(price>3000){ m.add(s); } } return m; } }
1.9寻找最大值并返回最大值的所有信息:
工具类:
public static Student FindMaxScore(ArrayList<Student> stu){ double max; Student s=stu.get(0); max=s.getScore(); for(int i=1;i<stu.size();i++){ Student s1=stu.get(i); double num=s1.getScore(); if(num>max){ s=s1; //对象拷贝 } } return s; }
JavaBean类:
public class Student { private String name; private double score; private String ID; public Student() { } public Student(String name, double score, String ID) { this.name = name; this.score = score; this.ID = ID; } public String getName() { return name; } public void setName(String name) { this.name = name; } public double getScore() { return score; } public void setScore(double score) { this.score = score; } public String getID() { return ID; } public void setID(String ID) { this.ID = ID; } }
测试类:
import java.sql.SQLOutput; import java.util.*; import java.awt.*; import java.lang.Math; public class hello { public static void main(String[] avgs) { ArrayList<Student> stu=new ArrayList<>(); Student s=new Student("吉士先生",94.3,"256dsd"); Student s1=new Student("小姐也",56.6,"22222d"); Student s2=new Student("大聪明",96.3,"11111d"); stu.add(s); stu.add(s1); stu.add(s2); Student s3=Util.FindMaxScore(stu); System.out.println("最大值的信息是:"+s3.getName()+" "+s3.getScore()+" "+s3.getID()); } }