某校科技有若干个学生,(学生对象放在一个LIst当中),每个学生有一个姓名,班级和某次考试成绩的属性(double),某次考试结束后,每个学生都获得了一个考试成绩。遍历LIst集合,并把学生对象的属性打印出来
import java.util.ArrayList;
class Student {
private String name;
private String classes;
private double score;
public Student(String name, String classes, double score) {
this.name = name;
this.classes = classes;
this.score = score;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + ''' +
", classes='" + classes + ''' +
", score=" + score +
'}';
}
}
public class Main {
public static void main(String[] args) {
ArrayList students = new ArrayList<>();
students.add(new Student("gaobo", "102", 18.3));
students.add(new Student("gaobo1", "102", 128.3));
students.add(new Student("gaobo1", "102", 138.3));
System.out.println(students);
}
}
分析代码可以知道,ArrayList中存放的是Student这个对象,所以每次添加的时候都要new一个新的学生对象。
第二题有一个List当中存放的是整型数据,要求使用Collection.sort进行排序
import java.util.ArrayList;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
ArrayList integers = new ArrayList<>();
integers.add(22);
integers.add(2);
integers.add(33);
Collections.sort(integers);
System.out.println(integers);
}
}
这题int型就放int对应的类,直接调用Collection方法下面的sort类就行了
第三题删除第一个字符串当中出现的第二个字符串中的字符
String str1 = “welcome to bit”;
String str2 = “come”;
输出结果:
wl t bit
用String解决
import java.util.Scanner;
public class Main {
public static String fun(String str1, String str2) {
StringBuilder sb = new StringBuilder();
for(int i = 0; i < str1.length(); i ++) {
char ch = str1.charAt(i);
if(! str2.contains(ch+"")) {
sb.append(ch);
}
}
return sb.toString();
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str1 = scanner.nextLine();
String str2 = scanner.nextLine();
System.out.println(fun(str1, str2));
}
}
用ArrayList解决
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
String str1 = "welcome to bit";
String str2 = "come";
ArrayList list = new ArrayList<>();
for(int i = 0; i < str1.length(); i ++) {
char ch = str1.charAt(i);
if(! str2.contains(ch+"")) {
list.add(ch);
}
}
for(char ch : list) {
System.out.print(ch);
}
}
}
第四题
打印一幅扑克牌
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
class Card {
private String name;
private int rank;
public Card(String name, int rank) {
this.name = name;
this.rank = rank;
}
@Override
public String toString() {
return "[ " + this.name + " " + this.rank + " ]";
}
}
public class Main {
public static List buyCard() {
String[] suits = {"♥", "♠", "♦", "♣"};
ArrayList cards = new ArrayList<>();
for(int i = 0; i < 4; i ++) {
for(int j = 1; j <= 13; j ++) {
cards.add(new Card(suits[i], j));
}
}
return cards;
}
public static void swap(List cards, int i, int j) {
Card tmp = cards.get(i);
cards.set(i, cards.get(j));
cards.set(j, tmp);
}
public static void buffCard(List cards) {
int size = cards.size();
for(int i = size - 1; i > 0; i --) {
Random random = new Random();
int ran = random.nextInt(i);
swap(cards, i, ran);
}
}
public static void main(String[] args) {
List cards = buyCard();
System.out.println("买牌" + cards);
buffCard(cards);
System.out.println("洗牌" + cards);
ArrayList> hand = new ArrayList<>();
ArrayList hand1 = new ArrayList<>();
ArrayList hand2 = new ArrayList<>();
ArrayList hand3 = new ArrayList<>();
hand.add(hand1);
hand.add(hand2);
hand.add(hand3);
for(int i = 0; i < 5; i ++) {
for(int j = 0; j < 3; j ++) {
hand.get(j).add(cards.remove(0));
}
}
System.out.println("第一个人的牌:" + hand1);
System.out.println("第二个人的牌:" + hand2);
System.out.println("第三个人的牌:" + hand3);
System.out.println("剩下的牌:" + cards);
}
}



