为什么我的代码输出行数和列数为1(1)为01,2(2)为11?

问题描述 投票:0回答:1

我正在尝试创建一个代码来要求用户指定数组的维度,创建数组,并用用户输入代码填充每个元素。引起我问题的线路是

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 arrays system.out
1个回答
0
投票

在 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));
© www.soinside.com 2019 - 2024. All rights reserved.