gpt4 book ai didi

java - 将单词的整数表示形式转换回字符串

转载 作者:太空宇宙 更新时间:2023-11-04 08:21:40 24 4
gpt4 key购买 nike

这是一项家庭作业,我的输出遇到了问题。一切都按预期工作,除了 Integer.toString() 没有给我我想要的结果。当我希望将它们转换为实际单词时,它仍然只输出一堆数字。这是代码和输出:

    import java.io.*;

public class NumStream extends OutputStream
{
public void write(int c) throws IOException
{
StringBuffer sb = new StringBuffer();
switch(c)
{
case ' ': sb.append(" ");
break;
case '1': sb.append("One");
break;
case '2': sb.append("Two");
break;
case '3': sb.append("Three");
break;
case '4': sb.append("Four");
break;
case '5': sb.append("Five");
break;
case '6': sb.append("Six");
break;
case '7': sb.append("Seven");
break;
case '8': sb.append("Eight");
break;
case '9': sb.append("Nine");
break;
case '0': sb.append("Zero");
break;
default: sb.append(Integer.toString(c));
break;
}
System.out.print(sb);
}
public static void main(String[] args)
{
NumStream ns = new NumStream();
PrintWriter pw = new PrintWriter(new OutputStreamWriter(ns));
pw.println("123456789 and ! and # ");
pw.flush();
}
}

输出为:OneTwoThreeFourFiveSixSevenEightNine 97110100 33 97110100 35 1310

有人可以告诉我如何在这个论坛中更轻松地格式化代码吗?我必须手动将每行缩进 8 个空格,并且必须有一种更简单的方法!

最佳答案

对于非数字字符,您将获取字符代码并将其转换为数字。因此 97 110 和 100 是“a”、“n”和“d”的字符代码,而 33 和 35 是 !#

您可能想要的默认情况只是:

default: sb.append((char)c); break;

请注意,每次调用写入例程时创建一个新的 StringBuffer 是极其浪费且低效的。由于您只向其 append 一个字符串/字符,因此您不妨直接打印该字符串/字符,而不是通过 StringBuffer 进行复制。

关于java - 将单词的整数表示形式转换回字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9423800/

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