Java 显示数组中包含的值
我想显示一条消息,指示我的Java 显示数组中包含的值,java,arrays,printing,Java,Arrays,Printing,我想显示一条消息,指示我的rollValue数组中是否存在输入value 我的代码不能正确识别这些数字。这个search方法就是我尝试过的,但是为什么它不能显示正确的消息呢 public void search(int value) { for (int i = 0; i < rollValue.length; i++) { if (rollValue[i] == value) { System.out
rollValue
数组中是否存在输入value
我的代码不能正确识别这些数字。这个search
方法就是我尝试过的,但是为什么它不能显示正确的消息呢
public void search(int value)
{
for (int i = 0; i < rollValue.length; i++)
{
if (rollValue[i] == value)
{
System.out.println(value + " was found");
}
else
{
System.out.println(value + " was not found");
}
break;
}
}
公共无效搜索(int值)
{
for(int i=0;i
您的for
循环在第一次迭代后中断。将break
移动到用于查找值的中,可能如下所示:
for (int i = 0; i < rollValue.length; i++)
{
if (rollValue[i] == value)
{
System.out.println(value + " was found");
break;
}
else
{
System.out.println(value + " was not found");
}
}
for(int i=0;i
此外,您可能不需要一直打印“未找到”字符串,因此请将其删除。您需要(可能)迭代每个值,然后才能确定是否找到它。制定两种方法。差不多
private boolean hasValue(int value) {
for (int roll : rollValue) {
if (value == roll) {
return true;
}
}
return false;
}
public void search(int value) {
for (int roll : rollValue) {
if (roll == value) {
System.out.printf("%d was found%n", value);
return;
}
}
System.out.printf("%d was not found%n", value);
}
然后您可以通过调用hasValue
like来实现search
public void search(int value)
{
if (hasValue(value))
{
System.out.println(value + " was found");
}
else
{
System.out.println(value + " was not found");
}
}
或作为一条直线
或您可以在搜索
中添加短路返回
,并执行类似操作
private boolean hasValue(int value) {
for (int roll : rollValue) {
if (value == roll) {
return true;
}
}
return false;
}
public void search(int value) {
for (int roll : rollValue) {
if (roll == value) {
System.out.printf("%d was found%n", value);
return;
}
}
System.out.printf("%d was not found%n", value);
}
这就是代码所发生的事情。3已找到2未找到2未找到2未找到2未找到2未找到2已找到found@MaxLawrence我知道这个问题就要来了;-)只需使用默认值为false的布尔标志。如果找到项,请在中断循环之前设置标志。在外循环中,检查标志并相应地打印。布尔值是否在for循环中?@MaxLawrence如果我告诉你所有你学不到的东西。所以,让它符合逻辑。你越挣扎,你记住的东西就越长。祝你好运!