ユーザーからの入力で満たされた配列があり、それを印刷する必要があります。試してみましたが、奇妙な結果が得られます。最初に、入力する要素の数を入力し、次に要素を入力してから、それらを印刷します。
例:入力しまし5 10 23 77 105
た そして、次のように印刷する必要があります:Elements: 5 10 23 77 105
また"INVALID INPUT"
、ステートメントにはfalse
ありますが、ステートメントに混在していtrue
ます。
これが私がこれまでに試したことです:
import java.util.*;
import java.util.ArrayList;
public class LinearSearch {
public static void main(String[] args) {
int choice;
Scanner in = new Scanner(System.in);
System.out.println("Choose between INT(1) --- DOUBLE(2) --- STRING(3) --:");
choice = in.nextInt();
if(choice == 1) {
choice(args);
}
}
public static void choice(String[] args) {
int num;
int repeat;
Scanner in = new Scanner(System.in);
System.out.println("Enter the number of elements in the array");
num = in.nextInt();
int array[] = new int [num];
for (int i = 0; i < array.length; i++) {
System.out.print("Enter the number at array index"+i+": ");
array[i] = in.nextInt();
}
System.out.print("Do you want to search if the number is present in the array? YES = 1 , No = 2: ");
int answer = in.nextInt();
if (answer == 1) {
Linear(array);
}
if (answer == 2) {
System.out.println("Thank you for using the program");
}
if (answer >= 3) {
System.out.println("Invalid Input");
}
System.out.print("\nDo you want to repeat the program? Yes = 1 --- No = 2: --- ");
repeat = in.nextInt();
if(repeat == 1) {
main(args);
}
if (repeat == 2) {
System.out.println("Thank you again ! ! !");
System.out.println("Thank you again ! ! !");
System.out.println("Thank you again ! ! !");
System.out.println("Thank you again ! ! !");
System.out.println("Thank you again ! ! !");
System.out.println("Thank you again ! ! !");
System.out.println("Thank you again ! ! !");
}
}
public static void Linear(int array[]) {
int key;
Scanner in = new Scanner(System.in);
System.out.print("Enter a number that you want to search: ");
key = in.nextInt();
for(int i = 0; i < array.length; i++) {
if (array[i] == key) {
System.out.println("Elements: " + array);
System.out.println("Element " + key + " is found at index: " + i);
} else {
System.out.println("INVALID INPUT");
}
}
}
}