Я получаю пользовательский ввод для функции (наименьший или наибольший) и для заполнения массива.Затем в соответствии с функцией ввода я хочу сравнить последовательные элементы и найти наименьшее или наибольшее число.Я не могу понять, почему и как исправить мой код.
Код работает, но работает не так, как предполагалось.Самые маленькие и самые большие числа ошибочны
import java.util.Scanner;
public class App {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Are you trying to find the Smallest or Largest number in an array of numbers? S/L");
String functionExpected = sc.nextLine();
System.out.println("How many elements you plan to enter? ");
int lengthOfArray = sc.nextInt();
// Populating array according to input and length
int[] numbersArray = new int[lengthOfArray];
for (int i = 0; i < numbersArray.length; i++) {
System.out.println("Enter an element here: ");
numbersArray[i] = sc.nextInt();
}
// Print out array
for (int i = 0; i < numbersArray.length; i++) {
System.out.print(numbersArray[i] + " ");
}
System.out.println();
if (functionExpected.equalsIgnoreCase("L")) {
int temp = 0;
System.out.println("We are going to find the largest number in the array of elements you enter!");
for (int i = 0; i < numbersArray.length; i++) {
for (int j = 1; j < numbersArray.length;) {
if (numbersArray[i] > numbersArray[j]) {
temp = numbersArray[i];
break;
} else {
temp = numbersArray[j];
break;
}
}
}
System.out.println("Largest of the three numbers is : " + temp);
}
if (functionExpected.equalsIgnoreCase("S")) {
int temp = 0;
System.out.println("We are going to find the smallest number in the array of elements you enter!");
for (int i = 0; i < numbersArray.length; i++) {
for (int j = 1; j < numbersArray.length;) {
if (numbersArray[i] > numbersArray[j]) {
temp = numbersArray[j];
break;
} else {
temp = numbersArray[i];
break;
}
}
}
System.out.println("Smallest of the three numbers is : " + temp);
}
}
}