11.4作业

来源:互联网 发布:系统加速软件 编辑:程序博客网 时间:2024/06/05 05:22

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());}}}