你好堆栈的人,
我的合作伙伴和我最近想创建一个简单的应用程序作为赌注的一部分,其中应用程序从输入TXT文件读取一组人名和结果,并创建输出TXT文件,其中先前的输入分级结果格式从最高到最低,可能是底部显示的输入TXT文件的最高分。
我们创建了一个测试脚本,它在大多数情况下工作但有一些我无法弄清楚的重大错误,所以我没有包含我当前的脚本,因为有一些曲线和弯曲的经文。
如果有人能帮助我和我的伴侣,我们将非常感谢它,所以我们可以看到我们在哪里出错,进一步了解这一点。
我附上了我们使用的核心输入文件,并附上了一张照片,说明我们更喜欢订购TXT文件的结果。The image on the left is the desired outcome TXT file, the right one is the core input TXT file
感谢您的帮助, 诚挚 - M
编辑:代码1:我实施了10个主题和成绩系统,这是不必要的,但是如果你需要,你就去了:
import java.util.Scanner;
public class UserInteraction {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int choice = 0;
String[] subjects = new String[10];
int grades[] = new int[10];
double sum = 0.0;
do
{
System.out.println("1. Enter a course name and a grade");
System.out.println("2. Display all grades");
System.out.println("3. Calculate the average grade");
System.out.println("4. Exit program");
choice = scan.nextInt();
if ( choice == 1 )
{
Scanner scansubjects = new Scanner(System.in);
Scanner scangrades = new Scanner(System.in);
System.out.println("Enter 10 subjects and their corresponding grades:");
System.out.println();
int i = 0;
for( i = 0; i < 10; i++ )
{
System.out.println("Subject:");
String temp = scansubjects.nextLine();
subjects[i] = temp.toLowerCase();
System.out.println("Grade:");
grades[i] = scangrades.nextInt();
if( i == ( subjects.length - 1 ) )
{
System.out.println("Thank you!");
System.out.println();
}
}
}
if ( choice == 2 )
{
System.out.println("Subjects" + "\tGrades");
System.out.println("---------------------");
for(int p = 0; p < subjects.length; p++)
{
System.out.println(subjects[p] + "\t" + "\t" + grades[p]);
}
}
if ( choice == 3 )
{
System.out.println("Total of grades: " + getSum(grades));
System.out.println("Count of grades: " + grades.length);
System.out.println("Average of grades: " + getAverage(grades));
System.out.println();
}
} while ( choice != 4);
}
public static double getAverage(int[] array)
{
int sum = 0;
for(int i : array) sum += i;
return ((double) sum)/array.length;
}
public static double getSum(int[] array)
{
int sum = 0;
for (int i : array)
{
sum += i;
}
return sum;
}
}
代码2:工作但它没有组织信息,也没有创建新文件,它只是复制了第一个文件并将其放入一个新文件中:
import java.io.File;
import java.util.Scanner;
import java.io.PrintStream;
public class ReadConsole {
public static void main(String[] args) {
try {
Scanner input = new Scanner(System.in);
PrintStream output = new PrintStream(new File("Out.txt"));
File file = new File("Data.txt");
input = new Scanner(file); //scans the file
while (input.hasNextLine()) {
String line = input.nextLine();
output.println(line);
}
input.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}