gpt4 book ai didi

java - 返回字符串的扫描仪对象中数字的逆序(java)

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

我有一项非常令人头疼的任务,我真的不知道如何去做。任务如下:

用Java编写一个递归方法public static String reverse(Scanner scan),扫描仪对象包含数字,并且数字应该以相反的顺序作为字符串返回。这是棘手的部分,你不能使用数组、列表或字符串,它只能声明一个变量。

例如,reverse(new Scanner("20 33 40") 的输入应返回:“40 33 20”。

如果不是因为限制,我会知道如何去做。我真的不知道该如何解决这个问题。我在编程方面还很陌生,我知道你们中的一些人反对帮助完成作业,我将不胜感激任何指示。

最佳答案

第一种可能使用字符串

您可以直接使用String作为数据结构。当您读取新数字时,在开头而不是末尾添加

基本上使用如下代码:

String str = "";
while (yourcondition) {
str = scanner.nextInt() + " " + str;
}
return str;

第二种可能使用 StringBuffer 或 StringBuilder

StringBuilder str = new StringBuilder();
while (yourcondition) {
str.insert(0, " ").insert(0, scanner.nextInt());
}
return str.toString();

第三种可能使用递归:

public String read(String str, Scanner scanner) {
if (testExitCondition) {
return str;
}
return scanner.nextInt() + " " + str;
}

// Called with System.out.println(read("", scanner));

注意

第一个解决方案使用 String 创建许多 String 实例,但只有一个对其的引用。

第二个解决方案使用现有的类,这些类在内部使用数组对字符串进行操作。

第三个将对创建的字符串的引用留给 JVM,因此代码中不存在对该字符串的显式引用。这是唯一没有显式变量声明的地方(仅在方法签名中,不在外部)。

关于java - 返回字符串的扫描仪对象中数字的逆序(java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32864238/

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