在一段时间的循环中,我使循环在一次无效输入后不会返回有效的答案,并重复“错误!无效的客户类型。再试一次。”一遍又一遍,直到我关闭程序。如果我第一次输入R或C作为输入,它会正常工作。当我输入其他任何东西时,我会得到错误信息“错误!无效的客户类型。再试一次。”就像我应该是故意的一样。然而,在输入r或c错误之后,我又会再次出现错误,我所做的任何输入都会一遍又一遍地返回错误信息,直到我关闭程序。有人能告诉我我的代码中有什么错误导致了这个问题吗?
public static String getValidCustomerType(Scanner sc)
{
String customerType = ("");
System.out.println("Enter the Customer Type");
customerType = sc.next() ;
boolean isValid = false;
while (isValid == false)
{
if (customerType.equalsIgnoreCase("R")|customerType.equalsIgnoreCase("C") )
{
isValid = true;
}
else
{
System.out.println("Error! Invalid customer type. Try again ");
}
sc.nextLine() ;
}
return customerType ;
}
尝试以下操作:|
(按位OR)与作为布尔OR运算符的|
不同。其次,您没有再次分配customerType
——修复方法如下。
while (isValid == false)
{
if (customerType.equalsIgnoreCase("R")||customerType.equalsIgnoreCase("C") )
{
isValid = true;
}
else
{
System.out.println("Error! Invalid customer type. Try again ");
}
customerType = sc.nextLine() ;
}
我认为必须将输入调用移动到while循环中。否则customerType变量总是相同的。
public static String getValidCustomerType(Scanner sc)
{
String customerType = ("");
System.out.println("Enter the Customer Type");
// move this to while loop
//customerType = sc.next() ;
boolean isValid = false;
while (isValid == false)
{
// get input here
customerType = sc.next() ;
if (customerType.equalsIgnoreCase("R")|customerType.equalsIgnoreCase("C") )
{
isValid = true;
}
else
{
System.out.println("Error! Invalid customer type. Try again ");
}
sc.nextLine() ;
}
return customerType ;
}
在while循环中,您不会将customerType
指定给它。最好还是从头开始。
public static String getValidCustomerType(Scanner sc)
{
String customerType = ("");
boolean isValid = false;
while (isValid == false)
{
System.out.println("Enter the Customer Type");
customerType = sc.nextLine() ;
if (customerType.equalsIgnoreCase("R")|customerType.equalsIgnoreCase("C") )
{
isValid = true;
}
else
{
System.out.println("Error! Invalid customer type. Try again ");
}
}
return customerType ;
}
本文向大家介绍C#一遍又一遍地生成相同的随机数序列,包括了C#一遍又一遍地生成相同的随机数序列的使用技巧和注意事项,需要的朋友参考一下 示例 当创建Random具有相同种子的实例时,将生成相同的编号。 输出:
从来没有真正使用过一个软件抛出这么多错误。我安装了并得到了以下所有的错误,所以尝试了一个新的安装,遵循一个重新安装的过程将它完全删除,甚至包括SDK,但再次安装它抛出了完全相同的错误。从我读到的应该只是在基本安装后工作? 第一次打开时的第一个错误: 编辑:错误地标记为副本。这不是一个重复的问题,因为三年前的解决方案对我不起作用,我还有两个错误,在重复的问题中根本没有提到。 此外,我的问题的解决方案
此代码不断返回 即使选择变量是正确的。我应该进行哪些编辑以使其打印总成本?
问题内容: 我想知道是否有这样一种方法来遍历java中每个循环的扩展扩展的多个集合。 所以像这样: 谢谢 问题答案: 您可以使用Guava的:
我已经从http://hayageek.com/login-with-google-plus-javascript-api/ 我已经使用我的client_id,api密钥实现了代码,并且还遵循了Google oauth2中invalid_client的说明,但仍然收到相同的错误。 也在OAuth同意屏幕中并提及产品名称和电子邮件地址 错误:无效_client 应用程序:Project_Name 您
我正在MST上的CLRS中尝试ch23,这里有一个问题: 给定一个图G和一个最小生成树T,假设我们减少不在T中的一条边的权重。给出了在修改图中求最小生成树的算法。 我找到的一个解决方案是在中添加此新更改的边,然后在T中创建一个简单的循环,遍历此循环并删除此循环中的最大权重边,瞧,找到了新更新的MST! 我的问题是,如何在这个简单循环中只遍历节点?因为如果我在中从这个新添加的边的一个endpoint