11.4作业

本文通过多个实例详细介绍了Java编程中的常见问题及解决方案,包括随机数生成、字符串比较、集合操作等核心内容。

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值