gpt4 book ai didi

java - 在同一行上向后打印

转载 作者:太空宇宙 更新时间:2023-11-04 07:01:11 26 4
gpt4 key购买 nike

该程序的目标是从文件中获取输入并去掉每个数字并将其转换为文本。我们不能使用字符串操作。例如1:一21:二一150:一五零

但是我的看起来像这样 1:一 21:一一二 150:一一二零五一

好吧,我弄清楚了很多,但是我的所有内容都打印在一行上并向后打印,你能引导我走上正确的道路吗

谢谢

public class Main {

/**
* @param args the command line arguments
* @throws java.io.FileNotFoundException
*/
public static void main(String[] args) throws FileNotFoundException {
Scanner scanner = new Scanner(new File("translate.txt"));
while(scanner.hasNextInt()){
int number = scanner.nextInt();
System.out.println(number + ": " +NumberTanslatorTrial.tanslate(number) );
// System.out.println(number + ": " + NumberTranslator.translate(number));

}


}

新类(class)

 public class NumberTanslatorTrial {

final private static String[] txt = {"zero", "one", "two", "three", "four",
"five", "six", "seven", "eight", "nine"};
static int tempNumber;
static String finalString;
static int tempNumber1;
public static StringBuilder num = new StringBuilder();

public static String tanslate(int number) {
while (number > 9) {
tempNumber = number % 10;
number = number / 10;
num.append(txt[tempNumber]);
num.append(" ");
finalString = num.toString();
}
if (number <= 9) {
num.append(txt[number]);
num.append(" ");
finalString = num.toString();
}
return finalString;

}

}

最佳答案

执行 %10 then/10 的问题是它首先查看最低有效数字。

例如,对于 input = 167,您有以下步骤:

  1. 数字 = 167 % 10 = 7
  2. 输入 = 167/10 = 16
  3. 数字 = 16 % 10 = 6
  4. 输入 = 16/10 = 1
  5. 数字 = 1 % 10 = 1
  6. 输入 = 1/10 = 0

所以你看,你最终得到了 7 个第一,6 个第二,1 个第三。

解决这个问题最简单的方法是使用堆栈。

if (number == 0) { 
return "Zero";
} // special case
if (number < 0) { // Handle negatives.
num.append("Negative");
number = -number;
}
List<Integer> stack = new ArrayList<Integer>();
while (number != 0) {
stack.add(number % 10);
number /= 10;
}
while (!stack.isEmpty()) {
int digit = stack.remove(stack.size() - 1); // Pop off the stack.
if (num.length() != 0) { // Add space if necessary.
num.append(' ');
}
num.append(txt[digit]);
}
return num.toString();

关于java - 在同一行上向后打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22081772/

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