這是一項家庭作業,我在輸出時遇到了問題。除了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個空格縮進每一行,並且有一個更簡單的方法!
使用tab鍵......此外,大多數編程文本編輯器會自動縮進新行到最後一行開始的位置。 – 2012-02-24 00:55:55
最簡單的方法是使用編輯器將代碼格式化爲用於縮進(無選項卡)的空格,並在每行上添加4個空格的縮進。然後只需從編輯器粘貼到SO輸入框即可。 – 2012-02-24 00:59:55