我是新来的,对编程很新。我现在正在参加Java编程简介,我的老师并不是非常有帮助,所以我想让其他人帮助我。任何事情都会受到赞赏。我的程序旨在根据用户输入控制台的内容生成ISBN-10号码。用户在控制台中输入9个数字。我试图让程序做的是测量输入字符的长度,如果它不等于9那么它会说“你必须输入9个数字”。这就是我所拥有的:
Scanner input = new Scanner(System.in);
System.out.println("Enter 'C' for console generation of an ISBN, or 'R' for a random generation of an ISBN:");
String letter = input.next().toLowerCase();
if (letter==c) {
System.out.println("Enter the first 9 digits of an ISBN:");
int d1 = input.nextInt();
int d2 = input.nextInt();
int d3 = input.nextInt();
int d4 = input.nextInt();
int d5 = input.nextInt();
int d6 = input.nextInt();
int d7 = input.nextInt();
int d8 = input.nextInt();
int d9 = input.nextInt();
int numbers = (d1 + d2 + d3 + d4 + d5 + d6 + d7 + d8 + d9);
int d10 = (d1 * 1 + d2 * 2 + d3 * 3 + d4 * 4 + d5 * 5 + d6 * 6 + d7 * 7 + d8 * 8 + d9 * 9) % 11;
if (d10 == 10) {
System.out.println("Console generated ISBN-10 is " + d1 + d2 + d3 + d4 + d5 + d6 + d7 + d8 + d9 + "X");
}
else if (numbers.length() != 9) {
System.out.println("You need to enter exactly 9 digits");
System.exit(2);
}
感谢任何帮助谢谢!!!
答案 0 :(得分:0)
将您的代码更改为:
String numbers = asString(d1) + asString(d2) + asString(d3) ...... + asString(d9);
同时添加此功能:
private String asString(int num){
return "" + num;
}
您可以使用此代码:
String d1 = input.next();
将从用户那里获得作为String的输入而不是int