gpt4 book ai didi

Java 扫描仪不返回多字变量

转载 作者:行者123 更新时间:2023-12-01 14:04:05 25 4
gpt4 key购买 nike

我的这部分代码没有按照我的需要工作。我需要从菜单中选择 A、B 或 X,然后输入一个小句子作为描述(多个)和一个成本数字。我可以完美地输入所有数据并返回到菜单(只有输入X后才退出)。但是变量 DamageDesc 的返回字符串仅获取空格之前的第一个单词。我已经尝试了一整夜,但仍然无法让它返回字符串中的所有单词。这是代码,如果有人可以提供帮助。谢谢!

do {
System.out.println("Damage Repair / Traffic Infringement Data Entry "+
"Menu");
System.out.println("-------------------------------------------------"+
"---");

System.out.println();

System.out.println("A - Record Damage Repair Details");
System.out.println("B - Record Traffic Infringement Details");
System.out.println("X - Exit");

System.out.println();

System.out.print("Enter your selection (A/B/X):");
menuOption = console.next().charAt(0);

switch (menuOption) {

case 'A':
case 'a':
System.out.print("Enter description of damage repair: ");
damageDesc = console.next();
console.nextLine();
System.out.print("Enter repair cost: ");
damageCost= console.nextDouble();
//Place damage description and cost on seperate lines
damageDescFinal = String.format(damageDescFinal + "- %s ($%.2f ) \n", damageDesc, damageCost);

//Also could have used the below
//damageDescFinal = (damageDescFinal+"- "+damageDesc+
// " ($"+damageCost+")"+"\n");

//All damage costs added together
damageCostFinal = damageCostFinal + damageCost;
System.out.println();
break;


case 'B':
case 'b':
System.out.print("Enter details of traffic infringement: ");
fineDesc = console.next();
console.nextLine();
System.out.print("Enter traffic fine amount: ");
fineCost = console.nextDouble();
//Set fine description and cost on seperate lines
fineDescFinal = String.format(fineDescFinal + "- %s ($%.2f ) \n", fineDesc, fineCost);

//Also could have used the below
//fineDescFinal = fineDescFinal+"- "+fineDesc+
// " ($"+fineCost+")"+"\n";
//All fine costs added together
fineCostFinal = fineCostFinal + fineCost;
System.out.println();
break;

case 'X':
case 'x':
//Exit the damage and fine menu
System.out.print("Exiting data entry menu..."+"\n");
System.out.println();
break;

default:
//Error handling for invalid input
System.out.print("***ERROR*** Invalid Selection!"+"\n");
System.out.println();
break;

}
} while (menuOption != 'X' && menuOption != 'x');

最佳答案

也许,您需要使用 nextLine() 来读取整行,而不是 next

关于Java 扫描仪不返回多字变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19077005/

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