мне нужна помощь со следующей code-Java - Чтение файла .txt и хранение в массиве
Программы должно читать текстовый файл, который представляет собой список целых чисел, отсортировать их по возрастанию или убыванию в зависимости от выбора пользователя и экспорта в виде текстового файла. Код работал нормально, когда целые числа были включены внутри кода в виде массива, прежде чем я попытался прочитать файл с java в первом методе. После этого ничего не было напечатано в соответствии с пользовательским вводом.
Вот что я в настоящее время:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Arrays;
import java.util.Scanner;
public class BubbleSorting {
public static int[] readFiles(String file) throws FileNotFoundException{
File f= new File("input.txt");
Scanner x= new Scanner(f);
int [] intArray= new int[100];
Scanner s1= new Scanner(f);
for (int i=0; i< intArray.length; i++)
intArray[i] = s1.nextInt();
return intArray;
}
public static void main (String[] args) throws FileNotFoundException {
int[] intArray= readFiles("input.txt");
System.out.println("Select from the following options:\n (A) Sort integers by ascending order \n (B) Sort by descending order "
+ "\n (C) Both. \n Please input your selection below.");
Scanner a = new Scanner(System.in);
String choice = a.nextLine();
if (choice.equals("A") || choice.equals("a")) {
bubbleSortInASC(intArray);
System.out.println("You have chosen to sort in ascending order:");
//print array after sorting using bubble sort algorithm
for(int i=0; i < intArray.length; i++){
System.out.println(intArray[i]);}}
else if (choice.equals("B") || choice.equals("b")) {
//sort an array in descending order using bubble sort algorithm
bubbleSortDSC(intArray);
System.out.println("You have chosen to sort in descending order:");
//print array after sorting using bubble sort algorithm
for(int i=0; i < intArray.length; i++){
System.out.println(intArray[i] + " ");
}}
else if (choice.equals("C") || choice.equals("c")) {
System.out.println("You have chosen to sort in both ascending and descending order.");
bubbleSortInASC(intArray);
System.out.println("In ascending order: ");
for(int i=0; i < intArray.length; i++){
System.out.println(intArray[i]+ " "); }
bubbleSortDSC(intArray);
System.out.println("\nIn descending order: ");
for(int i=0; i < intArray.length; i++){
System.out.println(intArray[i]+ " "); }
}
else {
System.out.println("That was not one of the options provided. Please try again.");
}
}
public static void bubbleSortDSC(int intArray[]) {
int n = intArray.length;
int temp = 0;
for(int i=0; i < n; i++){
for(int j=1; j < (n-i); j++){
if(intArray[j-1] < intArray[j]){
//swap the elements!
temp = intArray[j-1];
intArray[j-1] = intArray[j];
intArray[j] = temp;}
}}
}
public static void bubbleSortInASC(int numbers[])
{
int temp;
for(int i = 0; i < numbers.length; i++)
{
for(int j = 1; j < (numbers.length -i); j++)
{
//if numbers[j-1] > numbers[j], swap the elements
if(numbers[j-1] > numbers[j])
{
temp = numbers[j-1];
numbers[j-1]=numbers[j];
numbers[j]=temp;
}
}
}}
}
Любая помощь будет оценена.