3-2 jmu-java-m03-常见类的使用(随机数与列表, Random、ArrayList)

这篇博客介绍了如何使用Java的Random类生成随机数并填充ArrayList,以及如何进行排序、求和与拼接操作。示例中,根据输入的整数n、种子seed和范围,生成ArrayList,并展示后10个数、它们的和与拼接后的字符串,最后通过Arrays.sort进行排序并使用Arrays.toString输出。
部署运行你感兴趣的模型镜像

3-2 jmu-java-m03-常见类的使用(随机数与列表, Random、ArrayList)
使用随机数填充ArrayList并输出。

注意:

1.建议使用StringBuilder拼接。

2.使用Arrays.sort排序,Arrays.toString输出数组。

输入格式:
输入整数n(n>10)

输入随机数的种子seed(整数)

输入随机数范围下限和上限(不包含上限)

将生成的n个随机数依次放入ArrayList

输出格式:
输出ArrayList后10个数(每个数之间以空格分隔,行尾有一个空格)

将后10个数相加后输出

将后10个数拼接起来

将后10个数排序后使用Arrays.toString方法输出

输入样例:
11
5
1 10

输出样例:
3 5 5 7 6 5 2 3 2 2
40
3557652322
[2, 2, 2, 3, 3, 5, 5, 5, 6, 7]

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

public class Main{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		List<Integer> List1 =new ArrayList<>();
		int n=sc.nextInt();
		int seed=sc.nextInt();
		int min=sc.nextInt();
		int max=sc.nextInt();
		int sum=0;
		Random  random= new Random(seed);//种子数
		
		for(int i=0;i<n;i++)
		{
			List1.add(min+random.nextInt(max));//范围[min,max)
		}
		
		int len=List1.size();
		for(int j= len-10;j<len;j++)
		{
			System.out.print(List1.get(j)+" ");
			sum+=List1.get(j);
		}
		System.out.println();
		System.out.println(sum);
		
	   //报错 String[] str =List1.toArray(new String[0]);//注意:将列表中的元素添加到数组中;
	
		int str[]=new int[List1.size()];
		for(int i=0,j=List1.size();i<j;i++){
			str[i]=List1.get(i);
		}
		StringBuilder str2 = new StringBuilder();
		for(int k= len-10;k<len;k++)
		{
			str2.append(str[k]);
		}
		System.out.println(str2);

		int[] s =new int[10];
		int i=0;
		for(int j= len-10;j<len;j++)
		{
			s[i]=List1.get(j);
			i++;
		}
		
		Arrays.sort(s);
		System.out.println(Arrays.toString(s));
		
	}

}

您可能感兴趣的与本文相关的镜像

Seed-Coder-8B-Base

Seed-Coder-8B-Base

文本生成
Seed-Coder

Seed-Coder是一个功能强大、透明、参数高效的 8B 级开源代码模型系列,包括基础变体、指导变体和推理变体,由字节团队开源

<think> 根据用户需求,用户希望了解jmu-Java 7-2任务中关于throw和throws的知识点。由于引用内容中提到了7-1题目的异常处理示例,我们可以推断7-2可能也是似的异常处理题目,但重点在throw和throws的使用。 由于没有直接给出7-2的具体题目,我将根据常见Java异常处理中throw和throws的知识点,结合题目可能的要求进行解释。 在Java中,throw和throws都是处理异常的关键字: - throw:用于在方法体内抛出一个具体的异常对象。 - throws:用于方法声明,表示该方法可能抛出的异常,由调用者处理。 通常,在自定义异常的场景中,我们会用到throw主动抛出异常,而throws用于声明方法可能抛出的异常。 参考引用中的7-1题目,它涉及了自定义异常(IllegalScoreException, IllegalNameException)以及系统异常(NoSuchElementException)的处理。在7-2题目中,可能要求我们使用throw和throws来处理异常。 假设7-2题目要求: 1. 定义自定义异常2. 在方法中通过throw抛出异常。 3. 在方法声明中使用throws声明异常。 4. 在main方法中捕获处理这些异常。 下面是一个可能的示例代码框架,展示throw和throws的使用: ```java // 自定义异常 class MyCustomException extends Exception { public MyCustomException(String message) { super(message); } } public class Main { // 方法声明中使用throws,表示该方法可能抛出MyCustomException异常 public static void checkValue(int value) throws MyCustomException { if (value < 0) { // 使用throw抛出自定义异常 throw new MyCustomException("Value cannot be negative: " + value); } System.out.println("Value is valid: " + value); } public static void main(String[] args) { try { checkValue(-10); // 调用可能抛出异常的方法 } catch (MyCustomException e) { System.out.println(e); // 捕获打印异常 } } } ``` 在7-2任务中,可能要求完成似的功能,例如输入校验,当输入不符合要求时,抛出自定义异常。 根据引用中7-1输出样例,我们可以推测7-2可能要求似的输出格式,例如捕获异常打印。 因此,解决7-2任务的步骤可能包括: 1. 定义题目要求的自定义异常(如果有)。 2. 在需要的方法内部,使用throw关键字在条件满足时抛出自定义异常或系统异常。 3. 在方法声明处使用throws关键字声明该方法可能抛出的异常(除了RuntimeException及其子,其他检查异常必须声明)。 4. 在调用该方法的代码处(如main方法)使用try-catch块捕获处理异常,按照题目要求打印异常信息。 注意:引用中7-1使用了`System.out.println(e);`来打印异常,这会将异常对象的toString()方法结果打印出来,通常包括异常名和详细信息。 如果题目要求必须使用throw和throws,那么请确保: - 在方法内部通过throw抛出异常对象。 - 在方法签名中通过throws声明异常(检查异常)。 - 在调用方法的地方捕获异常。 如果题目没有提供具体的要求,建议查看题目描述,根据要求实现。 由于我无法获取7-2的具体题目,以上是基于常见题型和引用中7-1的推测。 相关问题: 1.Java中,throw和throws有什么区别? 2. 如何自定义一个异常3.Java中,什么是检查型异常(checked exception)和非检查型异常(unchecked exception)? 4. 在方法中抛出异常后,程序流程会如何变化? 如果用户能提供7-2的具体题目描述,可以给出更精确的解答。 </think> 基于您查询的“jmu-Java 7-2任务中throwthrows知识点”,结合异常处理核心逻辑和引用[^1]的异常处理示例,整理关键内容如下: ### 一、`throw``throws`核心区别 | **关键字** | **作用位置** | **功能** | **示例** | |------------|------------------|-------------------------------------|-------------------------------------------| | `throw` | 方法**内部** | 手动抛出异常对象 | `throw new IllegalArgumentException("无效参数")` | | `throws` | 方法**声明处** | 声明可能抛出的异常型(向上传递) | `public void read() throws IOException` | ### 二、7-2任务典型解决方案 ```java // 1. 定义自定义异常(参考引用[^1]) class InvalidInputException extends Exception { public InvalidInputException(String message) { super(message); } } public class Task7_2 { // 2. 使用throws声明异常 public static void processInput(String data) throws InvalidInputException { if (data == null || data.isEmpty()) { // 3. 使用throw抛出具体异常 throw new InvalidInputException("输入不能为空"); } // 业务逻辑... } public static void main(String[] args) { try { processInput("test"); // 调用声明异常的方法 } catch (InvalidInputException e) { // 4. 捕获打印异常(符合引用[^1]要求) System.out.println(e); // 输出: InvalidInputException: 输入不能为空 } } } ``` ### 三、关键注意事项 1. **自定义异常继承** - 检查异常需继承 `Exception` - 运行时异常需继承 `RuntimeException` 2. **异常传递机制** ```mermaid graph LR A[方法内部throw异常] --> B{方法是否声明throws?} B -->|是| C[异常传递给调用者] B -->|否| D[立即终止报错] ``` 3. **打印异常技巧** - `System.out.println(e)` 输出异常型+消息(如引用[^1]输出`IllegalNameException: ...`) - `e.printStackTrace()` 输出完整堆栈跟踪(调试用) ### 四、典型应用场景 1. **参数校验** ```java if (score < 0 || score > 100) { throw new IllegalScoreException("分数超范围:" + score); // 参考引用[^1] } ``` 2. **资源访问** ```java public void loadConfig() throws FileNotFoundException { File file = new File("config.cfg"); if (!file.exists()) { throw new FileNotFoundException("配置文件缺失"); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值