【Java作业】2017.11.04 / 11.05

本文通过几个具体的Java编程示例介绍了如何生成指定范围内的随机数,如何确保随机数不重复,以及如何使用Java集合类如ArrayList进行数据存储与遍历的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作业一

/*
 * 需求:获取任意范围内的随机数
 * */

import java.util.Scanner;

public class RandomDemo2 {
	public static void main(String[] args) {
		System.out.print("请输入最小值:");
		Scanner sc1 = new Scanner(System.in);
		int min = sc1.nextInt();
		
		System.out.print("请输入最大值:");
		Scanner sc2 = new Scanner(System.in);
		int max = sc2.nextInt();
		
		//产生随机数
		int randomNumber = (int)(Math.random()*(max-min))+min;
		//输出
		System.out.println("随机数:"+randomNumber);
	
	}
}







作业二

/*
 * 需求:产生指定范围内的N个随机数(不可重复),并对产生的随机数进行升序排序
 * */

import java.util.Scanner;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Iterator;

public class Test{
	public static void main(String[] args){
		System.out.print("请输入最小值:");
		Scanner sc1 = new Scanner(System.in);
		int min = sc1.nextInt();
		
		System.out.print("请输入最大值:");
		Scanner sc2 = new Scanner(System.in);
		int max = sc2.nextInt();
		
		System.out.print("请输入要产生的随机数个数:");
		Scanner sc3 = new Scanner(System.in);
		int count = sc3.nextInt();
		
		//创建List对象
		List list = new ArrayList();
		//调用randomNumber()方法
		list = randomNumber(min,max,count);
		//使用迭代器进行遍历输出
		Iterator it = list.iterator();
		while(it.hasNext()){
			System.out.println(it.next());
		}
	}

	
	//工具方法:输出指定范围内的N个不重复随机数
	public static List randomNumber(int min, int max, int n){  
		List list = new ArrayList();
		
		//进行集合中元素个数判断
		while(list.size()<n){
			Integer number = (int)(Math.random()*(max-min))+min;
			//进行重复元素判断
			if(!list.contains(number)){
				list.add(number);
			}
		}
		
		//进行升序排序
		Object [] objs = list.toArray();	//将集合转为对象型数组
		Arrays.sort(objs);
		list = Arrays.asList(objs);		//讲数组转回集合

		return list;
	}	
		
}






作业三

/*
 * 需求:使用ArrayList储存自定义的对象并遍历(三种方法实现)
 * */

import java.util.List;
import java.util.ArrayList;
import java.util.ListIterator;

public class ErgodicDemo {
	public static void main(String[] args) {
		Football f1 = new Football("伊卡尔迪",24);
		Football f2 = new Football("伊布拉希莫维奇",36);
		Football f3 = new Football("穆里尼奥",54);
		Football f4 = new Football("雷科巴",41);
		
		//创建List对象,并赋值
		List list = new ArrayList();
		list.add(f1);
		list.add(f2);
		list.add(f3);
		list.add(f4);
		
		//方式一:数组遍历(toArray()方法)
		Object [] objs = list.toArray();
		for(int i=0; i<objs.length ;i++) {
			System.out.println(objs[i]);
		}
		
		System.out.println("----------------");
		
		//方式二:集合遍历(get()方法)
		for(int i=0; i<list.size() ;i++) {
			System.out.println(list.get(i));
		}
		
		System.out.println("----------------");
		
		//方式三:使用迭代器遍历(listiterator()方法)
		ListIterator it = list.listIterator();
		while(it.hasNext()) {
			System.out.println(it.next());
		}
	}
}

class Football {
	String name;
	int age;

	Football() {

	}

	Football(String name, int age) {
		this.name = name;
		this.age = age;
	}

	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	
	public String toString() {
		return "["+name+","+age+"]";
	}
}





作业四

/*
 * 需求:获取10个1-20之间的随机数,不能重复
 * */

import java.util.ArrayList;
import java.util.Collection;

public class RandomDemo {
	public static void main(String[] args) {
		//创建Collection对象
		Collection c = new ArrayList();
		
		//使用while循环进行元素数量判断
		while(c.size()<10) {
			//获取随机数
			Integer i = (int)(Math.random()*20)+1 ;
			
			//进行重复元素判断
			if(!c.contains(i)) {
				c.add(i);
			}
		}
		//输出
		System.out.println("产生的十个随机数为:"+c);
	}
	
	
}





作业五

/*
 * 集合的嵌套遍历
 * 
 * 需求:
  		我们班有学生,每一个学生是不是一个对象。所以我们可以使用一个集合表示我们班级的学生。ArrayList<Student>
  		但是呢,我们旁边是不是还有班级,每个班级是不是也是一个ArrayList<Student>。
 		而我现在有多个ArrayList<Student>。也要用集合存储,怎么办呢?
 * */

import java.util.Collection;
import java.util.ArrayList;

public class StudentTest {
	public static void main(String[] args) {
		//班级1
		Student s1 = new Student("伊卡尔迪");
		Student s2 = new Student("佩里西奇");
		Student s3 = new Student("坎德雷瓦");
		Collection c1 = new ArrayList();
		c1.add(s1);
		c1.add(s2);
		c1.add(s3);
		
		//班级2
		Student s4 = new Student("穆里尼奥");
		Student s5 = new Student("斯帕莱蒂");
		Student s6 = new Student("弗朗西斯科利");
		Collection c2 = new ArrayList();
		c2.add(s4);
		c2.add(s5);
		c2.add(s6);
		
		//年级
		Collection c = new ArrayList();
		c.add(c1);
		c.add(c2);
		
		System.out.println(c);
	}
}

class Student{
	String name;
	
	Student(){
		
	}
	
	Student(String name){
		this.name = name;
	}
	
	public void setName(String name) {
		this.name = name;
	}
	public String getName() {
		return name;
	}
	
	public String toString() {
		return name;
	}
	
}










作业六


1.下面代码执行的结果是:
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;

2.下面代码执行的结果是:
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


3.下列代码的执行结果是:
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



4.下面代码能最后打印的值是?
    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)null C)0         D)1


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值