Java 打印对账单应返回“;A0"&引用;B1“&引用;C2"&引用;B3“是的&引用;C4「;,而是返回6567697173

Java 打印对账单应返回“;A0"&引用;B1“&引用;C2"&引用;B3“是的&引用;C4「;,而是返回6567697173,java,arraylist,printing,Java,Arraylist,Printing,我在循环中有一个print语句,它应该像这样迭代:“A0”“B1”“C2”“B3”“C4”。而是返回6567697173。 代码如下: 主要方法 public class AdvDotComLauncher { public static void main(String[] args) { AdvDotComTable table = new AdvDotComTable(); table.createTable(5,5); } } 表格类


我在循环中有一个print语句,它应该像这样迭代:“A0”“B1”“C2”“B3”“C4”。而是返回6567697173。
代码如下:
主要方法

public class AdvDotComLauncher {
    public static void main(String[] args) {
        AdvDotComTable table = new AdvDotComTable();
        table.createTable(5,5);
    }
}
表格类

import java.util.ArrayList;

public class AdvDotComTable {
    public boolean createTable(int rows, int columns) {
        if (rows == 26) {
            //When true is returned, the program will let the user know they have to choose a lower number
            return true;
        }
        String[] dotComs = {"Pets.com", "Amazon.com", "Target.com", "Apple.com", "Microsoft.com", "Steampowered.com"};
        ArrayList<Character> row = new ArrayList<Character>();
        ArrayList<Integer> column = new ArrayList<Integer>();
        char[] letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray();
        int number = 0;
        while (rows != 0 && columns != 0) {
            row.add(letters[number]);
            column.add(number);
            System.out.print(row.get(number) + column.get(number));
            number++;
            rows--;
            columns--;
        }
        return false;
    }
}
import java.util.ArrayList;
公共类AdvDotComTable{
公共布尔createTable(int行、int列){
如果(行==26){
//当返回true时,程序将让用户知道他们必须选择一个较低的数字
返回true;
}
String[]dotComs={“Pets.com”、“Amazon.com”、“Target.com”、“Apple.com”、“Microsoft.com”、“Steampowered.com”};
ArrayList行=新的ArrayList();
ArrayList column=新的ArrayList();
char[]letters=“abcdefghijklmnopqrstuvxyz.toCharArray();
整数=0;
while(行!=0和列!=0){
行。添加(字母[数字]);
栏.增加(编号);
System.out.print(row.get(number)+column.get(number));
数字++;
行--;
列--;
}
返回false;
}
}

我不知道是什么原因造成了这个问题,任何帮助都将不胜感激。我只是一个业余开发者,只是想学习,所以这可能是一个愚蠢的错误(对此很抱歉)
提前感谢,
Lyfe

如评论中所述

改变

System.out.print(row.get(number)+column.get(number));
致:

System.out.print(“+row.get(number)+column.get(number));

您需要执行此操作,以便打印的是
字符串
,而不是
哈希代码
(它是
int
eger)。

如注释中所述,它打印的是字符的ASCII值。 只要换上你的

  System.out.print(row.get(number) + column.get(number));

输出将如您所愿

 "A0""B1""C2""D3""E4"

print
更改为-->
System.out.print(“+row.get(number)+column.get(number))这很有效,我完全不知道为什么。非常感谢你!你能给我解释一下为什么会这样吗?很抱歉,我对Java非常陌生。
Character+Integer
将这两个字符作为数字相加,它不会将它们连接成一个
String
。几乎是重复的:
 "A0""B1""C2""D3""E4"