在数组a中查找某数值,若找到则返回该数值所在的下标,若不在则返回提示信息"该数值在数组a中不存在!"。public class HelloJava {
public static void main(String[] args){
int[] arr={1,2,3};
int n=2;
boolean flag=false;
for(int i=0;i<arr.length;i++){
if(n==arr[i])
System.out.println("下标为:"+i);
flag=true;
break;
}
if(!flag)
System.out.println("该数值在数组a中不存在");
}
}
这段代码只有n=1时是正确的,其他情况都无法显示出结果,不知道哪里有问题
还有为什么要定义布尔类型 没明白
public static void main(String[] args){
int[] arr={1,2,3};
int n=2;
boolean flag=false;
for(int i=0;i<arr.length;i++){
if(n==arr[i])
System.out.println("下标为:"+i);
flag=true;
break;
}
if(!flag)
System.out.println("该数值在数组a中不存在");
}
}
这段代码只有n=1时是正确的,其他情况都无法显示出结果,不知道哪里有问题
还有为什么要定义布尔类型 没明白
int[] arr = { 1, 2, 3 };
int n = 1;
boolean flag = false;
for (int i = 0; i < arr.length; i++) {
if (n == arr[i]){
System.out.println("下标为:" + i);
flag = true;
break;
}
}
if (!flag)
System.out.println("该数值在数组a中不存在");
}
}
public static void main(String[] args){
int[] arr={1,2,3};
int n=2;
boolean flag=false;
for(int i=0;i<arr.length;i++){
if(n==arr[i]){
System.out.println("下标为:"+i);
flag=true;
break;
}
}
if(!flag)
System.out.println("该数值在数组a中不存在");
}
}
当在数组中找到n后,flag变为true,表示n被找到
如果遍历数组都没有找到n,那么最后flag为false,输出“该数值在数组a中不存在”
if(n==arr[i])
System.out.println("下标为:"+i);
flag=true;
break;
}
这里可以看成
if(n==arr[i]){
System.out.println("下标为:"+i);
}
flag=true;
break;
所以当i=1 的时候才能进入sysout
还有为什么要定义布尔类型
if(!flag)
System.out.println("该数值在数组a中不存在");
}
为了做这个判断的
public static void main(String[] args) {
int[] arr = { 1, 2, 3 };
boolean flag = false;
for (int i = 0; i < arr.length; i++) {
if (n == arr[i]) {
System.out.println("下标为:" + i);
flag = true;
break;
}
}
if (!flag)
System.out.println("该数值在数组a中不存在");
}
}
注意if里面的括号位置,设置flag为布尔类型是代表有没有找到。
{
public static void main(String[] args)
{
int[] arr = { 1, 2, 3 };
int n = 2;
boolean flag = false;
for (int i = 0; i < arr.length; i++)
{
if (n == arr[i])
{
System.out.println("下标为:" + i);
flag = true;
break;
}
}
if (!flag)
System.out.println("该数值在数组a中不存在");
}
}
{
public static void main(String[] args)
{
int[] arr = { 1, 2, 3 };
int n = 2;
int index = Arrays.binarySearch(arr, n);
if(index >= 0)
System.out.println("下标为:" + index);
else
System.out.println("该数值在数组a中不存在");
}
}
建议了解Arrays和Collections这两个类,封装了很多实用的方法,还有Comparator,在排序中很实用~
public class Test {
public static void main(String[] args){
int[] arr={1,2,3,2,2,2};
int n=2;
boolean flag=false;
for(int i=0;i<arr.length;i++){
if(n==arr[i]){
System.out.println("下标为:"+i);
flag=true;
}
}
if(!flag){
System.out.println("该数值在数组a中不存在");
}
}
}这样只要有相同的就会显示。如果你需要找到第一次出现的位置的话就加上break;