Java程序设计大作业
(请注意要求的第三条,所以请不要从网上直接粘贴过来)Java程序设计大作业开发一个小型“学生成绩管理系统”,功能为:支持从键盘输入n个学生的信息,包括姓名和成绩,n的值也...
(请注意要求的第三条,所以请不要从网上直接粘贴过来)
Java程序设计大作业
开发一个小型“学生成绩管理系统”,功能为:支持从键盘输入n个学生的信息,包括姓名和成绩,n的值也是由键盘输入。输入信息之后,可以展示一个由用户进行选择功能的界面:例如:
请点击相应的数字来选择您需要的功能:
1、 找最大值
2、 找最小值
3、 求平均值
4、 求总和
5、 排序
6、 存盘
7、 退出
用户选择相应的数字后,程序执行相应的操作,然后再回到主界面,直到用户选择退出。
要求:1、各个功能用方法来实现,用户点击数字后调用相应的功能。
2、给出必要的注释信息。
3、代码的雷同度越高,分数越低。 展开
Java程序设计大作业
开发一个小型“学生成绩管理系统”,功能为:支持从键盘输入n个学生的信息,包括姓名和成绩,n的值也是由键盘输入。输入信息之后,可以展示一个由用户进行选择功能的界面:例如:
请点击相应的数字来选择您需要的功能:
1、 找最大值
2、 找最小值
3、 求平均值
4、 求总和
5、 排序
6、 存盘
7、 退出
用户选择相应的数字后,程序执行相应的操作,然后再回到主界面,直到用户选择退出。
要求:1、各个功能用方法来实现,用户点击数字后调用相应的功能。
2、给出必要的注释信息。
3、代码的雷同度越高,分数越低。 展开
3个回答
展开全部
由于这个问题的界面比较简单,所以就没有在代码中做任何优化,楼主可以根据自己的需要调整。主要就是在界面中点击按钮,出发相应的功能,然后输出。大概代码如下(由于写的比较快,不足之处还请指出):
package main;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.Scanner;
import javax.swing.JButton;
import javax.swing.JFrame;
@SuppressWarnings("serial")
public class Program extends JFrame implements ActionListener {
private int[] numbers;
private JButton maxButton;
private JButton minButton;
private JButton averageButton;
private JButton sumButton;
private JButton sortButton;
private JButton saveButton;
private JButton exitButton;
public void init() {
setLayout(new FlowLayout());
setTitle("学生成绩管理系统");
setSize(500, 300);
maxButton = new JButton("最大值");
add(maxButton);
maxButton.addActionListener(this);
minButton = new JButton("最小值");
add(minButton);
minButton.addActionListener(this);
averageButton = new JButton("平均值");
add(averageButton);
averageButton.addActionListener(this);
sumButton = new JButton("总和");
add(sumButton);
sumButton.addActionListener(this);
sortButton = new JButton("排序");
add(sortButton);
sortButton.addActionListener(this);
saveButton = new JButton("保存");
add(saveButton);
saveButton.addActionListener(this);
exitButton = new JButton("退出");
add(exitButton);
exitButton.addActionListener(this);
setVisible(true);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void read(int n) {
numbers = new int[n];
for (int i = 0; i < n; i++) {
System.out.println("请输入第" + i + "个数");
Scanner scanner = new Scanner(System.in);
int temp = scanner.nextInt();
numbers[i] = temp;
}
}
public int max() {
int temp = numbers[0];
int length = numbers.length;
for (int i = 1; i < length; i++) {
temp = (temp >= numbers[i]) ? temp : numbers[i];
}
return temp;
}
public int min() {
int temp = numbers[0];
int length = numbers.length;
for (int i = 1; i < length; i++) {
temp = (temp <= numbers[i]) ? temp : numbers[i];
}
return temp;
}
public double sum() {
double sum = 0;
int length = numbers.length;
for (int i = 0; i < length; i++) {
sum += numbers[i];
}
return sum;
}
public double average() {
double sum = sum();
int length = numbers.length;
return (sum / length);
}
public int[] sort() {
int length = numbers.length;
for (int i = 0; i < length; i++) {
for (int j = i; j < length; j++) {
if (numbers[i] > numbers[j]) {
int temp = numbers[i];
numbers[i] = numbers[j];
numbers[j] = temp;
}
}
}
return numbers;
}
public void save() {
File file = new File("output/data.txt");
try {
FileOutputStream fos = new FileOutputStream(file);
OutputStreamWriter osw = new OutputStreamWriter(fos);
for (int i = 0; i < numbers.length; i++) {
osw.write(numbers[i] + " ");
}
osw.flush();
osw.close();
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void exit() {
System.exit(0);
}
public static void main(String[] args) {
System.out.println("请输入学生的人数: ");
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
Program program = new Program();
program.read(n);
program.init();
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == maxButton) {
int max = max();
System.out.println("最大值:" + max);
} else if (e.getSource() == minButton) {
int min = min();
System.out.println("最小值:" + min);
} else if (e.getSource() == averageButton) {
double average = average();
System.out.println("平均值:" + average);
} else if (e.getSource() == sumButton) {
double sum = sum();
System.out.println("总和:" + sum);
} else if (e.getSource() == sortButton) {
int[] result = sort();
System.out.println("排序后结果为:");
for (int i = 0; i < result.length; i++) {
System.out.print(((int) result[i]));
System.out.print(" ");
}
} else if (e.getSource() == saveButton) {
save();
System.out.println("保存成功!");
} else if (e.getSource() == exitButton) {
exit();
}
}
}
package main;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.Scanner;
import javax.swing.JButton;
import javax.swing.JFrame;
@SuppressWarnings("serial")
public class Program extends JFrame implements ActionListener {
private int[] numbers;
private JButton maxButton;
private JButton minButton;
private JButton averageButton;
private JButton sumButton;
private JButton sortButton;
private JButton saveButton;
private JButton exitButton;
public void init() {
setLayout(new FlowLayout());
setTitle("学生成绩管理系统");
setSize(500, 300);
maxButton = new JButton("最大值");
add(maxButton);
maxButton.addActionListener(this);
minButton = new JButton("最小值");
add(minButton);
minButton.addActionListener(this);
averageButton = new JButton("平均值");
add(averageButton);
averageButton.addActionListener(this);
sumButton = new JButton("总和");
add(sumButton);
sumButton.addActionListener(this);
sortButton = new JButton("排序");
add(sortButton);
sortButton.addActionListener(this);
saveButton = new JButton("保存");
add(saveButton);
saveButton.addActionListener(this);
exitButton = new JButton("退出");
add(exitButton);
exitButton.addActionListener(this);
setVisible(true);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void read(int n) {
numbers = new int[n];
for (int i = 0; i < n; i++) {
System.out.println("请输入第" + i + "个数");
Scanner scanner = new Scanner(System.in);
int temp = scanner.nextInt();
numbers[i] = temp;
}
}
public int max() {
int temp = numbers[0];
int length = numbers.length;
for (int i = 1; i < length; i++) {
temp = (temp >= numbers[i]) ? temp : numbers[i];
}
return temp;
}
public int min() {
int temp = numbers[0];
int length = numbers.length;
for (int i = 1; i < length; i++) {
temp = (temp <= numbers[i]) ? temp : numbers[i];
}
return temp;
}
public double sum() {
double sum = 0;
int length = numbers.length;
for (int i = 0; i < length; i++) {
sum += numbers[i];
}
return sum;
}
public double average() {
double sum = sum();
int length = numbers.length;
return (sum / length);
}
public int[] sort() {
int length = numbers.length;
for (int i = 0; i < length; i++) {
for (int j = i; j < length; j++) {
if (numbers[i] > numbers[j]) {
int temp = numbers[i];
numbers[i] = numbers[j];
numbers[j] = temp;
}
}
}
return numbers;
}
public void save() {
File file = new File("output/data.txt");
try {
FileOutputStream fos = new FileOutputStream(file);
OutputStreamWriter osw = new OutputStreamWriter(fos);
for (int i = 0; i < numbers.length; i++) {
osw.write(numbers[i] + " ");
}
osw.flush();
osw.close();
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void exit() {
System.exit(0);
}
public static void main(String[] args) {
System.out.println("请输入学生的人数: ");
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
Program program = new Program();
program.read(n);
program.init();
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == maxButton) {
int max = max();
System.out.println("最大值:" + max);
} else if (e.getSource() == minButton) {
int min = min();
System.out.println("最小值:" + min);
} else if (e.getSource() == averageButton) {
double average = average();
System.out.println("平均值:" + average);
} else if (e.getSource() == sumButton) {
double sum = sum();
System.out.println("总和:" + sum);
} else if (e.getSource() == sortButton) {
int[] result = sort();
System.out.println("排序后结果为:");
for (int i = 0; i < result.length; i++) {
System.out.print(((int) result[i]));
System.out.print(" ");
}
} else if (e.getSource() == saveButton) {
save();
System.out.println("保存成功!");
} else if (e.getSource() == exitButton) {
exit();
}
}
}
追答
Eclipse找不到程序的入口,你需要新建一个完整的Java工程,如果想直接用这段代码的话,需要在新的工程中新建一个"main"的package,然后再新建一个Program.java文件。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询