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"