我正在尝试创建一个代码来要求用户指定数组的维度,创建数组,并用用户输入代码填充每个元素。引起我问题的线路是
System.out.println("请输入行:" +i+1+ 的整数" 列:" +j+1);
因为我想指定用户正在输入哪个元素,所以我尝试将其包括在内。如果“i”和“j”后面没有 +1,输出就应该从 0 开始。我正在尝试添加 +1 以使用户更容易理解。
下面是代码:
import java.util.Scanner;
public class doubleArray{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Hello! This program creates an array of numbers of your choosing and size!");
System.out.println("Please enter the number of rows for your array!");
int rows = scanner.nextInt();
System.out.println("Please enter the number of columns for your array!");
int columns = scanner.nextInt();
int storage[][] = new int[rows][columns];
for(int i=0; i<storage.length; i++) {
System.out.println();
for (int j=0; j<storage[i].length; j++) {
System.out.println("Please enter the integer for row: " +i+1+ " column: " +j+1);
storage[i][j] = scanner.nextInt();
}
}
for(int i=0; i<storage.length; i++) {
System.out.println();
for(int j=0; j<storage[i].length; j++) {
System.out.print(storage[i][j]+ " ");
}
}
scanner.close();
}
}
它的目的是从 1 开始计数,直到用户输入的内容。例)。
请输入行:1 列:1 的整数 //用户输入 请输入行:1 列:2 的整数 //用户输入
实际发生的是:
请输入行:01 列:01 的整数 //用户输入 请输入行:01 列:11 的整数
我不知道如何解决这个问题,因为我是编码的初学者。感谢所有提供帮助的人!
在 Java 中,当您连接字符串(或字符串与将转换为字符串的其他类型)时,连接会一一进行。
int i = 0;
String s = "Number: " + i + 1;
字符串
s
将是 "Number: 01"
,因为这会翻译为:
int i = 0;
String s = "Number: "; // "Number: "
s = s + i; // "Number: 0"
s = s + 0; // "Number: 01"
你真正想做的是:
int i = 0;
String s = "Number: " + (i + 1); // "Number: 1"
因为首先你要计算要连接的值,所以在你的代码中:
System.out.println("Please enter the integer for row: " + (i + 1) + " column: " + (j + 1));