Java 检查输入的数组并显示错误,该错误在循环中
我有一个数组值列表Java 检查输入的数组并显示错误,该错误在循环中,java,arrays,Java,Arrays,我有一个数组值列表 String[] names = {"michel","john","mr x","text"}; int[] num ={1,2,3,4}; 我要求用户在数组中输入名称,并希望显示数组名称的数量。我们还希望检查输入的数组是否在数组中。如果不在数组中,则希望发送错误消息 为此,我创建了一个boolean=false并检查循环中的条件,然后执行 System.out.println("
String[] names = {"michel","john","mr x","text"};
int[] num ={1,2,3,4};
我要求用户在数组中输入名称,并希望显示数组名称的数量。我们还希望检查输入的数组是否在数组中。如果不在数组中,则希望发送错误消息
为此,我创建了一个boolean=false并检查循环中的条件,然后执行
System.out.println("Enter the Name To get Numbers");
Scanner scanner = new Scanner(System.in);
String name=scanner.next();
boolean check =false;
int in = 0;
for (int i=0; i <names.length; i++)
{
if (name.contains(names[i]))
{
check = true;
in = i;
}
if (name.equals(names[i]))
{
System.out.println(num[i]);
}else
{
System.out.println(" Choose the name in the array ");
}
}
System.out.println(“输入名称以获取数字”);
扫描仪=新的扫描仪(System.in);
字符串名称=scanner.next();
布尔检查=假;
int in=0;
for(int i=0;i首先在数组中搜索for循环是否存在(如果存在),然后执行check=true
并打印数字
循环检查不在数组中后,打印错误消息
Scanner scanner = new Scanner(System.in);
String name=scanner.next();
boolean check =false;
for (int i=0; i <names.length; i++)
{
if (name.equals(names[i]))
{
check = true; // if match with any array element
System.out.println(num[i]);
}
}
// if check is false means no element match in array, print err msg
if(!check)
{
System.out.println(" Choose the name in the array ");
}
Scanner Scanner=新的扫描仪(System.in);
字符串名称=scanner.next();
布尔检查=假;
对于(int i=0;i您设置了check
和in
变量的值,但从未使用它们。对于每个不匹配的值,您也会在循环内打印“在数组中选择名称”,但您可能只想在循环完成时执行一次,以防找不到任何内容
这就是如何重写循环以获得所需内容的方法:
boolean check = false;
for (int i = 0; i < names.length; i++) {
if (name.equals(names[i])) {
check = true;
System.out.println(num[i]);
}
}
if (!check) {
System.out.println(" Choose the name in the array ");
}
谢谢你的回复,但是我仍然只在循环中得到了错误消息,我有4个字符串数组,所以我在4个字符串中得到了错误消息times@Karthickyuvan如果(!check)
超出循环,则需要执行查看我的解决方案
Map<String, Integer> map = new HashMap<>();
map.put("michel", 1);
map.put("john", 2);
map.put("mr x", 3);
map.put("text", 4);
Integer in = map.get(name);
if (in == null) {
System.out.println(" Choose the name in the array ");
}
else {
System.out.println(in);
}