难点在于错误写法会在输出对应下标之前输出多个-1,
解决方案是for循环只负责若存在输入的元素则输出对应元素的下标,
再定义一个整数赋值参与for循环,当for循环发现存在输入的元素时此整数自增,
在for循环结束后写一个if,如果此整数并未自增,证明数组中没有输入的元素,则输出-1。
package cyx;
import java.util.Scanner;
public class Cyx{
public static void main(String[] args) {
int[] arr= {1,2,3,4};//创建一个数组
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数");
int a = sc.nextInt();//a为输入的整数
int b = 0;//定义一个整数b,用于达成输出-1的效果
for(int c = 0;c<arr.length;c++){
if(a==arr[c]){
System.out.println(c);
b++;
}
}
if(b==0){
System.out.println(-1);
}
}
}