Java 使用静态变量和循环main方法堆叠switch语句
我正在用java制作一个单元转换器,当我在循环后运行程序时遇到了一个问题。我不确定这是否是我的静态变量、switch语句或循环的问题——我是java新手,这是我的第一个程序。我遇到的主要问题是,在第二次运行它并切换要转换的单元类型后,会出现以下问题: “输入转换值: 三十三 33公斤=145.50525磅 输入转换值: 但我希望它能做到这一点: “33公斤=145.50525磅 是否要继续并执行另一个转换?('Y'或'N')” 这是代码(sry我知道有很多要看)Java 使用静态变量和循环main方法堆叠switch语句,java,Java,我正在用java制作一个单元转换器,当我在循环后运行程序时遇到了一个问题。我不确定这是否是我的静态变量、switch语句或循环的问题——我是java新手,这是我的第一个程序。我遇到的主要问题是,在第二次运行它并切换要转换的单元类型后,会出现以下问题: “输入转换值: 三十三 33公斤=145.50525磅 输入转换值: 但我希望它能做到这一点: “33公斤=145.50525磅 是否要继续并执行另一个转换?('Y'或'N')” 这是代码(sry我知道有很多要看) 将以下行添加到键入函数的顶部,以
将以下行添加到
键入
函数的顶部,以修复当前问题
a=b=c=-1;
这可确保一次只有一个变量具有有效的大小写值
此外,您还导致了无限堆栈问题
将循环更改为如下所示(或者正如Quoi所做的,这是一个更好的选择)
如果我理解正确:),请使用do while
获得n次工作
public static void main(String args[]) {
do{
mainMenu();
Type();
Direction();
System.out.println ("do you want to continue and perform another conversion? ('Y' or 'N')");
String input = YN.nextLine();
}while(YorN.equalsIgnoreCase(input));
}
非常感谢!我不知道案例值或无限堆栈问题!(这里是大菜鸟)。也是第一次使用这个网站,这不会是我的最后一次。再次,非常感谢你的帮助-这是非常有益的。
System.out.println("");
System.out.println ("do you want to continue and perform another conversion? ('Y' or 'N')");
YorN = YN.nextLine();
if(YorN.equalsIgnoreCase("y"))
main(null);
public static void main(String args[]) {
do{
mainMenu();
Type();
Direction();
System.out.println ("do you want to continue and perform another conversion? ('Y' or 'N')");
String input = YN.nextLine();
}while(YorN.equalsIgnoreCase(input));
}