1:需求:请设计一个方法,可以实现获取任意范围内的随机数。
import java.util.Scanner;
public class Ti {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入开始数:");
int start=sc.nextInt();
System.out.println("请输入结束数:");
int end=sc.nextInt();
int number=(int)(Math.random()*(end-start+1))+start;
System.out.println("输入的俩个数之间的随机值为:"+number);
}
}
2:下面代码执行的结果是:public static void main(String[] args) {
String s1 = new String("hello");
String s2 = new String("hello");
System.out.print(s1 == s2);
System.out.print(",");
System.out.println(s1.equals(s2));
}
}
结果为:false,true
3:下面代码执行的结果是:public static void main(String arg[]) {
StringBuffer a = new StringBuffer("A");
StringBuffer b = new StringBuffer("B");
operate(a, b);
System.out.println(a + "," + b);
}
static void operate(StringBuffer x, StringBuffer y) {
x.append(y);
y = x;
}
结果为:
AB,B
4.下列代码的执行结果是:String str1 = "This is a test!";
StringBuffer str2 =new StringBuffer( "This is a test!");
str1 = str1+"Hi";
str2.append("Hi");
System.out.println("str1 == " + str1);
System.out.println("str2 == " + str2);
结果为:str1==This is a test!Hi
str2==This is a test!Hi
5.下面代码能最后打印的值是?public class TestValue {
private static int a;
public static void main(String[] args) {
modify(a);
System.out.println(a);
}
public static void modify(int a) {
a++;
}
}
A)编译错误 B)nullC)0 D)1
结果为:C
编程题
1:集合的嵌套遍历
需求:
我们班有学生,每一个学生是不是一个对象。所以我们可以使用一个集合表示我们班级的学生。ArrayList<Student>
但是呢,我们旁边是不是还有班级,每个班级是不是也是一个ArrayList<Student>。
而我现在有多个ArrayList<Student>。也要用集合存储,怎么办呢?
import java.util.Iterator;
public class Ti {
public static void main(String[] args) {
ArrayList<ArrayList<Student>> List = new ArrayList<ArrayList<Student>>();
//创建第一个班的集合
ArrayList<Student> list1=new ArrayList<Student>();
Student s1=new Student("立华奏",18);
Student s2=new Student("伊万里",19);
list1.add(s1);
list1.add(s2);
List.add(list1);
//创建第二个班的集合
ArrayList<Student> list2=new ArrayList<Student>();
Student s3=new Student("音无",20);
Student s4=new Student("九重透流",20);
list2.add(s3);
list2.add(s4);
List.add(list2);
//遍历方式:迭代器
Iterator<ArrayList<Student>> it=List.iterator();
int count=1;
while(it.hasNext()){
System.out.println("班级"+count);
Iterator<Student> its=it.next().iterator();
while(its.hasNext()){
Student s=its.next();
System.out.println(s.getName()+"---"+s.getAge());
}
count++;
}
}
}
结果为:班级1
立华奏---18
伊万里---19
班级2
音无---20
九重透流---20
2:获取10个1-20之间的随机数,要求不能重复
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Random;
public class Ti {
public static void main(String[] args) {
ArrayList Array=new ArrayList();
Random r=new Random();
int i=0;
while(i<10){
int number=r.nextInt(20)+1;
if(!Array.contains(number)){
Array.add(number);
i++;
}
}
//遍历集合
Iterator it=Array.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
}
3:使用ArrayList集合存储自定义对象并遍历(三种方式去实现)
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Random;
public class Ti {
public static void main(String[] args) {
ArrayList<Student> Array=new ArrayList<Student>();
Student s1=new Student("立华奏",18);
Student s2=new Student("伊万里",19);
Array.add(s1);
Array.add(s2);
//遍历方法1:迭代器
Iterator<Student> it=Array.iterator();
while(it.hasNext()){
Student s=(Student)it.next();
System.out.println(s.getName()+"---"+s.getAge());
}
System.out.println("--------------");
//遍历方法二:普通for方法遍历
for(int i=0;i<Array.size();i++){
Student s=(Student)Array.get(i);
System.out.println(s.getName()+"---"+s.getAge());
}
System.out.println("--------------");
//遍历方法三:增强for循环
for(Student s : Array){
System.out.println(s.getName()+"---"+s.getAge());
}
}
}