gpt4 book ai didi

java - 在for循环中添加列表/数组元素,java12

转载 作者:行者123 更新时间:2023-12-02 04:05:00 24 4
gpt4 key购买 nike

我是 java 新手,不太了解所有语法。最终目标是根据公式 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 得到 isbn 编号,其中 d10 = (d1 * 1 + d2 * 2 + d3 * 3 + d4 * 4 + d5 * 5 + d6 * 6 + d7 * 7 + d8 * 8 + d9 * 9) % 11为了实现这一目标,我尝试使用 for 循环从 9 位用户输入生成不同的数字 d1、d2 等,例如 123456789。

我想将这些数字分别放入列表或数组中,以便我可以调用列表元素和公式。

但是我正在努力让我的 for 循环工作。我尝试在没有任何 for 循环的情况下在输入上应用公式,只是为每个数字手动完成 for 循环,这可行,但我认为使用循环会更整洁。

我使用 eclipse 作为 IDE,似乎没有得到实际的错误,但结果不是我想要的。

关于如何解决这个问题或者我做错了什么有什么想法吗?

import java.util.ArrayList;
import java.util.Scanner;

public class ISBN1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
ArrayList<Integer>[] myArray = new ArrayList[9];
myArray[0] = new ArrayList<Integer>();
System.out.print("Enter the first 9 digits of an ISBN as integer: ");
int isbn = input.nextInt();

for (int i = 0 ; i < 10; i++ ) {
myArray[i].add(isbn / 100000000-10*i);
int remainingDigits = isbn % 100000000- 10*i;
}
for (ArrayList<Integer> mylist: myArray) {
for (int bar : mylist) {
System.out.println(bar);
}
}
}


}

最佳答案

请尝试这个:

public static void main(final String[] args) {
final Scanner input = new Scanner(System.in);
System.out.print("Enter the first 9 digits of an ISBN as integer: ");
final String isbn = input.nextLine();
final ArrayList<Integer> myArray = new ArrayList<>(isbn.length());
for (int i = 0; i < isbn.length(); i++) {
myArray.add(Integer.valueOf(isbn.substring(i, i + 1)));
}
for (final Integer inmylist : myArray) {
System.out.println(inmylist);
}
}

编辑如果你也想检查输入,你可以试试这个

public static void main(final String[] args) {
final Scanner input = new Scanner(System.in);
String isbn = null;
while (isbn == null) {
System.out.print("Enter the first 9 digits of an ISBN as integer: ");
isbn = input.nextLine();
if (!isbn.matches("\\d{9}")) {
isbn = null;
}
}
final ArrayList<Integer> myArray = new ArrayList<>(isbn.length());
for (int i = 0; i < isbn.length(); i++) {
myArray.add(Integer.valueOf(isbn.substring(i, i + 1)));
}
for (final Integer inmylist : myArray) {
System.out.println(inmylist);
}
}

关于java - 在for循环中添加列表/数组元素,java12,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56717551/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com