我有一个将整数转换为字符以打印出来的问题。我有一个程序专门用于图论(我目前正在上课)。除了一件事,一切都很好。
我有创建不同类型图表的类。有一个 Node 类来为图制作节点。它们保存值和名称,名称是基于 int 字符值的字母。创建图表时,每个节点都是这样创建的
Node(String name, int value).
这是正在创建的节点的示例。
int a = 97;
int alpha = a+i-1;
int alphaCnt = 0;
if(alpha < 123 && alphaCnt == 0){
String nodeName = Character.toString((char)alpha);
Node node = new Node(nodeName, i);
this.addnode(node);
}
这工作得很好。如果 i=1,则名称变为“a”,如果 i=2,则名称变为“b”,依此类推。我遇到的问题是当我在 toString 中为 Graph 打印代码时。
起初我让它只打印数字数组,但是当它打印节点时,没有人会知道什么数字与什么节点对应。所以我决定像这样在数字之后添加字符。[2(b), 1(a)...5(e)]。
但是使用完全相同的转换是行不通的。我的 toString 方法。(它的一部分)。pCode 是代码的 int 数组。我放入数组的代码中的每个数字。
for(int i = 0; i < pCode.length; i++){
String x = Character.toString((char)(i+1));
if(i != pCode.length){
System.out.println(Integer.toString(pCode[i]) + "(" + x + ")");
System.out.println(x.toString());
System.out.println(Character.toString((char)(i+1)));
System.out.println(Character.toString((char)pCode[i]));
}
}
我的鼻子底下可能有什么东西,但无论我做什么,我都无法用数字打印角色,我什至无法让它自己打印。
为什么 Character.toString((char)intVal)) 在我创建节点时起作用,但在我只想打印 int 的字符值时不起作用。