gpt4 book ai didi

Java 不从扫描仪输入返回字符串

转载 作者:行者123 更新时间:2023-12-01 10:07:06 24 4
gpt4 key购买 nike

我正在练习 Java,遇到了一些奇怪的问题,或者我应该说问题。

当我编译下面的代码时,它显示 java line # :error:

missing return statement.

如果我删除 return "not valid" 处的评论,它编译。

现在这就是另一个问题出现的地方。当我通过init_config时和final_config我输入的字符串 AB ,它返回无效。但是当我通过"A"时和"B"到其他函数( other("A", "B") 返回/打印特定返回值 "C"

我不确定问题是否出在我的输入法上。我为 init_config 和 Final_config 输入的数据应该是字符串值,对吗?我不确定 Scanner 是否是一个好的字符串输入方法。但是,如果我打印两个输入,它工作正常,所以我不确定是否是数据丢失或字符串引用在传递时丢失。

我还尝试替换 init_config = in.next()init_config = in.nextLine()但这没有任何区别。

是否需要用return "not valid"来编译代码在函数末尾或者我可以通过某种方法绕过它吗?如何使用 Scanner 传递字符串数据输入法没有任何损失?

这是我的代码:

import java.util.Scanner;
public class towerGen
{
public static void main(String[]args)
{
Scanner in = new Scanner(System.in);
String init_config, final_config;

System.out.print("Enter initial configuration: ");
init_config = in.next();

System.out.print("Enter final configuration: ");
final_config = in.next();

System.out.print(other(init_config, final_config));

}

public static String other(String src, String dest)
{
if (src=="A" && dest=="B")
return "C";
if (src=="B" && dest=="A")
return "C";
if (src=="B" && dest=="C")
return "A";
if (src=="C" && dest=="B")
return "A";
if (src=="A" && dest=="C")
return "B";
if (src=="C" && dest=="A")
return "B";
//return "not valid";
}
}

最佳答案

Is it necessary to compile the code with the return "not valid" at the end of the function?

是的,确实如此。因为编译器认识到,如果输入字符串不满足您列出的任何条件,则不会返回任何内容,这是非 void 方法中的错误。

此外,在您的 other 方法中,您应该使用 src.equals("A") 而不是 src == "A"比较字符串时。

关于Java 不从扫描仪输入返回字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36370356/

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