gpt4 book ai didi

java - 如何对变量使用 unicode 转义序列?

转载 作者:行者123 更新时间:2023-12-02 04:57:16 24 4
gpt4 key购买 nike

这是我目前必须使用 java 在循环(扫描次数)中连接 a、b、c 等的代码:

public String toString()
{
String answers = "";
int numChoices = choices.length;
char letter;
String result;
int letterNum = 0061;
while (numChoices > 0)
{
letter = "\u" + letterNum;
result = letter + ") " + choices[choices.length-numChoices] + "\n";
answers += result;
numChoices --;
letterNum ++;
}

return question + "\n" + answers;
}

我认为 unicode 转义序列将是我最好的选择,但它并没有按照我尝试的方式工作,所以我显然做错了一些事情。我该如何解决这个问题?

我收到的错误是:

MultChoice.java:40: illegal unicode escape
letter = "\u" + letterNum;

最佳答案

Unicode 转义由 javac 处理,非常在编译早期、解析之前。编译器永远不会看到 Unicode 转义符,只会看到代码点。因此您不能在运行时使用它们。相反,试试这个:

public String toString()
{
String answers = "";
int numChoices = choices.length;
char letter = 'a';
String result;
while (numChoices > 0)
{
result = "" + letter + ") " + choices[choices.length-numChoices] + "\n";
answers += result;
numChoices --;
letter ++;
}

return question + "\n" + answers;
}

char 只是一个无符号 16 位整数,因此您可以用它执行所有正常的整数操作,例如增量。不需要单独的 int - 'a'(char) 0x61 是同一件事。

关于java - 如何对变量使用 unicode 转义序列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28650933/

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