#java
#java
Вопрос:
Итак, у меня все работает нормально вплоть до того момента, когда мне нужно выполнить поиск. Я действительно новичок в этом, поэтому мой код, вероятно, ужасен, заранее прошу прощения. В любом случае, это пользовательский вводимый массив, и пользователь должен иметь возможность искать число в массиве. Я получаю сообщение об ошибке для повторяющейся переменной в строке 50 (int i, get 1).
import java.util.Scanner;
class SearchingSorting {
public static void main (String[] args) {
Scanner input = new Scanner(System.in);
System.out.println ("How many numbers would you like to input?");
int num = input.nextInt();
double[] array = new double[num];
for (int i = 0; i < num; i ) {
System.out.println ("Input number " (1 i) ":");
array[i] = input.nextDouble();
}
for (double temp1 : array){
System.out.print (temp1 "t");
}
input.close();
int pass;
int i;
int hold;
for(pass = 1; pass < array.length; pass )
{
for(i = 0; i < array.length - 1; i )
{
if(array[i] > array[i 1])
{
hold = (int) array[i];
array[i] = array[i 1];
array[i 1] = hold;
}
}
System.out.println("nSorted number is: ");
for(i = 0; i < array.length; i )
System.out.print(" " array[i]);
}
int i, get1;
Scanner keyboard = new Scanner(System.in);
int[] numbers = new int[10];
for(i = 0; i < numbers.length; i )
{
numbers[i] = i * 10;
}
System.out.print("Enter search number: ");
get1 = keyboard.nextInt();
SearchMethod(numbers, get1);
}
public static void SearchMethod(int[] num, int get2)
{
int i ;
boolean j = false;
for(i = 0; i < num.length; i )
{
if(num[i] == get2)
{
j = true;
break;
}
}
if(j == true)
System.out.println(get2 " is found at num[" i "]");
else
System.out.println(get2 " is not found in an array");
}
}
Комментарии:
1. Зачем вам искать значение целочисленного типа в массиве двойного типа? Измените
double[] array = new double[num];
наint[] array = new int[num];
.2. Значения, которые пользователь / мой профессор вводит, не будут целыми числами
3. вы пытаетесь снова инициализировать i в строке 50 , в то время как исходный i все еще существует, и его область действия не закончена.
4. Да, спасибо. Я действительно новичок в этом, это похоже на второй проект. Я смотрел на это часами и понятия не имею, как это исправить.
5. Не могли бы вы как-нибудь отметить строку 50?
Ответ №1:
Вы пытаетесь объявить новую переменную с тем же именем («i») в той же области.
Переименуйте свою переменную i в строке 50.