从键盘获取一个整数n,将你的学号的前n位数字累加起来并输出该结果。例如学号为22461200123的同学所编制的程序,在输入0时打印0,在输入1时打印2,在输入2时打印4,在输入3时打印8。要求编程时用字符数组的形式保存学号并进行上述计算。编写Java代码
时间: 2024-09-20 11:01:49 浏览: 35
为了实现这个需求,我们可以先创建一个字符数组来代表学号,然后读取用户输入的整数n,最后计算出并输出前n位数字的累加。以下是对应的Java代码:
```java
import java.util.Scanner;
public class Main {
private static final int MAX_LENGTH = 15; // 假设学号最长不超过15位
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入你要取的位数(n,0 <= n <= " + MAX_LENGTH + "): ");
int n = scanner.nextInt();
if (n >= 0 && n <= MAX_LENGTH) {
char[] studentId = {'2', '2', '4', '6', '1', '2', '0', '0', '1', '2', '3'};
int sum = calculateSum(studentId, n);
System.out.println("前 " + n + " 位数字的累加结果是: " + sum);
} else {
System.out.println("无效的输入范围,请重新输入");
}
scanner.close();
}
private static int calculateSum(char[] id, int n) {
int sum = 0;
for (int i = 0; i < Math.min(n, id.length); i++) {
sum += id[i] - '0'; // 字符减去'0'后转换为数字
}
return sum;
}
}
```
这个程序首先询问用户需要取的位数,然后检查输入是否在范围内。如果有效,它会计算给定长度内的数字之和;如果无效,则给出错误提示。
阅读全文