gpt4 book ai didi

java - 为什么Character.toString((char)i)在某个地方不起作用

转载 作者:行者123 更新时间:2023-12-01 23:25:54 26 4
gpt4 key购买 nike

我在将整数转换为字符以打印时遇到问题。我有一个专门用于图论的程序(我现在正在上的一门课)。除了一件事之外,一切正常。

我有一些类来创建不同类型的图表。有一个 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 中打印代码时。

一开始我让它只打印数字数组,但是当它打印节点时,没有人知道哪个数字与哪个节点对应。所以我决定像这样在数字后面添加字符。 [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 的字符值时却不起作用。

最佳答案

当这两行运行时:

for(int i = 0; i < pCode.length; i++){
String x = Character.toString((char)(i+1));
...

x 将首先设置为包含 SOH 字符的字符串,然后设置为 STX 字符,依此类推 — 所有 ASCII 控制字符。当您将它们包含在较大的字符串中并尝试将其打印出来时,它们不会很好地工作。也许您的意思是(char)(i+97)?我不确定。

关于java - 为什么Character.toString((char)i)在某个地方不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19990910/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com