#java #arrays #file #bubble-sort
#java #массивы #файл #пузырьковая сортировка
Вопрос:
Я не получаю никаких ошибок перед компиляцией, все выполняется, но мой вывод должен представлять собой пару целых чисел из текстового файла, а не набор случайных символов и чисел. Я не уверен, что не так, но моей задачей было прочитать файл целых чисел в массив, а затем отсортировать с помощью метода bubblesort. Вывод выглядит следующим образом: Порядок отсортированного массива: [I @ 42a57993Sorted Порядок массива: [I @ 42a57993Sorted Порядок массива: [I @ 42a57993sorted Порядок массива: [I @ 42a57993. Любая помощь — хорошая помощь, насколько это касается меня. Спасибо.
import java.io.File;
import java.io.FileNotFoundException;
public class Array {
public static void main(String[] args) {
int[] arr = new int[10];
int i = 0;
Scanner input = new Scanner(System.in);
try {
System.out.print("Enter the file name:");
String fileName = input.next();
Scanner readFile = new Scanner(new File(fileName));
while (readFile.hasNext()) {
try {
arr[i] = readFile.nextInt();
i ;
} catch (InputMismatchException e) {
readFile.next();
}
bubbleSort(arr);
System.out.print("Sorted Array order: " arr);
input.close();
}}catch(FileNotFoundException e) {
System.out.println("Error occured");
e.printStackTrace();
}
}
static void bubbleSort(int[] arr) {
int n = arr.length;
int temp = 0;
for(int i=0; i < n; i ){
for(int j=1; j < (n-i); j ){
if(arr[j-1] > arr[j]){
temp = arr[j-1];
arr[j-1] = arr[j];
arr[j] = temp;
}
}
}
}}
Ответ №1:
Немного изменил его и, похоже, получил правильный вывод
package com.kanhaiyakumawat.stackoverflow;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Arrays;
import java.util.InputMismatchException;
import java.util.Scanner;
public class Array {
public static void main(String[] args) {
int[] arr = new int[10];
int i = 0;
Scanner input = new Scanner(System.in);
try {
System.out.print("Enter the file name:");
String fileName = input.next();
Scanner readFile = new Scanner(new File(fileName));
while(readFile.hasNext()) {
try {
arr[i] = readFile.nextInt();
i ;
} catch(InputMismatchException e) {
readFile.next();
}
}
bubbleSort(arr);
System.out.print("Sorted Array order: " Arrays.toString(arr));
} catch(FileNotFoundException e) {
System.out.println("Error occured");
e.printStackTrace();
}finally {
input.close();
}
}
static void bubbleSort(int[] arr) {
int n = arr.length;
int temp = 0;
for(int i = 0; i < n; i ) {
for(int j = 1; j < (n - i); j ) {
if(arr[j - 1] > arr[j]) {
temp = arr[j - 1];
arr[j - 1] = arr[j];
arr[j] = temp;
}
}
}
}
}
Вывод:
Enter the file name:/Users/kkumawat/githome/personal/practice/src/main/java/com/kanhaiyakumawat/stackoverflow/myfile.txt
Sorted Array order: [0, 0, 0, 0, 0, 0, 0, 0, 5, 10]
Process finished with exit code 0