java 从控制台输入一个 检查在一个数组中是否有这个数字,并输出这个数字所在数组中的位置,如果有相同的数字则相应的输出这几个位置,编译没问题,执行有报错!大神帮看看!
import java.util.*;
public class LinearFindArray
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.print("输入您要找的数:");
int number = input.nextInt();
int number1;
int index = -1;
int [] array = {2,4,5,4,8,9};
int [] array1 = new int[6];
int n;
int x=0;
for(int i = 0;i <= array.length;i++)
{
number1 = array[i];
if(number==number1)
{
n=i+1;
System.out.println(n);
}
else
{
n=-1;
System.out.println(n);
}
int j = 0;
do
{
array1[j] = n;
j++;
}
while (j < i);
}
int [] array2 = array1;
for(int m = 0; m < 6;m++)
{
if(array2[m]!=-1)
{
x = array2[m];
}
}
if(x!=0)
{
System.out.println("您要找的数字在"+x+"位置");
}
else
{
System.out.println("您要找的数字不存在在");
}
}
}
java 从控制台输入一个 检查在一个数组中是否有这个数字,并输出这个数字所在数组中的位置 问题
答案:3 悬赏:20 手机版
解决时间 2021-02-20 13:54
- 提问者网友:不要迷恋哥
- 2021-02-19 13:42
最佳答案
- 五星知识达人网友:三千妖杀
- 2021-02-19 14:29
Scanner input = new Scanner(System.in);
System.out.print("输入您要找的数:");
int number = input.nextInt();
int numbers = 0;
int [] array = {2,4,5,5,8,9};
for(int i = 0 ; i < array.length ; i++){
if(number == array[i]){
numbers = i+1;
System.out.println("输入的数字在数组的"+numbers+"位置");
}
}
if(numbers == 0 ){
System.out.println("输入的数字不存在");
}没你想的那么复杂
System.out.print("输入您要找的数:");
int number = input.nextInt();
int numbers = 0;
int [] array = {2,4,5,5,8,9};
for(int i = 0 ; i < array.length ; i++){
if(number == array[i]){
numbers = i+1;
System.out.println("输入的数字在数组的"+numbers+"位置");
}
}
if(numbers == 0 ){
System.out.println("输入的数字不存在");
}没你想的那么复杂
全部回答
- 1楼网友:胯下狙击手
- 2021-02-19 15:49
数组下标从0开始 , 而array.length 长度是6,
其他逻辑 自己再看看吧
- 2楼网友:天凉才是好个秋
- 2021-02-19 15:23
public static void main(string[] args) {
int[] num;
num=new int[5];
system.out.println("请输入");
for(int i=1;i<5;i++){
scanner sc=new scanner(system.in);
num[i]=(int)sc.nextint();
}
for(int j:num){
system.out.print(j+"\t");
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯