javaif分支學生成績
⑴ 用java學生成績統計
importjava.util.Scanner;
publicclassTest{
ooleanend_flag=true;
publicstaticvoidmain(String[]args){
Studentsstudent=newStudents();
student.InputData();//輸入學生數據
Stringorder;
while(end_flag){
System.out.println("請輸入數字1-5:");
Scanners=newScanner(System.in);
order=s.nextLine();
student.Operator(order);
}
}
}
Students類:
importjava.util.ArrayList;
importjava.util.Scanner;
publicclassStudents{
privateintSTUDENTS_NUM=5;//學生的人數
privateintSUBJECTS_NUM=3;//課程數
privateString[][]data=newString[STUDENTS_NUM][SUBJECTS_NUM+2];
privateStringname;
privateintChinese_score;
privateintMath_score;
privateintEnglish_score;
publicvoidSearchHighestScore(String[][]original){//查找最高成績
intflag=Integer.parseInt(original[0][4]),position=0;
for(inti=1;i<original.length;i++){
if(Integer.parseInt(original[i][4])>flag){
flag=Integer.parseInt(original[i][4]);
position=i;
}
}
System.out.print("最高分同學的姓名和總分為:");
System.out.println(original[position][0]+""+original[position][4]);
}
publicvoidSearchLowestScore(String[][]original){
intflag=Integer.parseInt(original[0][4]),position=0;
for(inti=1;i<original.length;i++){
if(Integer.parseInt(original[i][4])<flag){
flag=Integer.parseInt(original[i][4]);
position=i;
}
}
System.out.print("最低分同學的姓名和總分為:");
System.out.println(original[position][0]+""+original[position][4]);
}
publicvoidOrderStudents(String[][]original){
String[][]result=original;
Stringtemp;
for(inti=1;i<result.length;i++){
for(intj=0;j<result.length-i;j++){
if(Integer.parseInt(result[j][4])<Integer
.parseInt(result[j+1][4])){
temp=result[j][4];
result[j][4]=result[j+1][4];
result[j+1][4]=temp;
temp=result[j][0];
result[j][0]=result[j+1][0];
result[j+1][0]=temp;
}
}
}
System.out.println("排名 "+"姓名 "+"總分 ");
for(inti=0;i<STUDENTS_NUM;i++){
System.out.println(i+1+" "+result[i][0]+" "
+result[i][4]);
}
}
publicvoidScoreUnder60(String[][]original){
System.out.println("平均分在60以下的學生的姓名為:");
ArrayListtemp=newArrayList();
for(inti=0;i<original.length;i++){
if(Integer.parseInt(original[i][4])/SUBJECTS_NUM<60){
temp.add(original[i][0]);
}
}
System.out.print(temp+"");
System.out.println(" "+"平均分在60以下的學生的人數為:"
+temp.size());
}
publicIntegerSearchScore(Stringstudent_name){
intposition=-1;
for(inti=0;i<data.length;i++){
if(student_name.equals(data[i][0])){
position=i;
}
}
if(position!=-1)
returnInteger.valueOf(data[position][4]);
else
returnnull;
}
publicvoidOperator(Stringorder){
if("1".equals(order)){
SearchHighestScore(data);
SearchLowestScore(data);
}elseif("2".equals(order)){
OrderStudents(data);
}elseif("3".equals(order)){
ScoreUnder60(data);
}elseif("4".equals(order)){
Stringname;
System.out.println("請輸入學生的姓名:");
Scanners=newScanner(System.in);
name=s.nextLine();
if(SearchScore(name)!=null)
System.out.println(name+"的總分為:"+SearchScore(name));
else
System.out.println("查無此人");
}elseif("5".equals(order)){
Testobj=newTest();
obj.end_flag=false;
System.out.println("退出");
}else{
System.out.println("輸入有誤!");
}
}
publicvoidInputData(){
for(inti=1;i<=STUDENTS_NUM;i++){
System.out.print("請輸入第"+i+"個人的姓名"+":");
Scanners1=newScanner(System.in);
name=s1.nextLine();
data[i-1][0]=name;
System.out.print("請輸入第"+i+"個人的語文成績"+":");
Scanners2=newScanner(System.in);
Chinese_score=s2.nextInt();
data[i-1][1]=String.valueOf(Chinese_score);
System.out.print("請輸入第"+i+"個人的數學成績"+":");
Scanners3=newScanner(System.in);
Math_score=s3.nextInt();
data[i-1][2]=String.valueOf(Math_score);
System.out.print("請輸入第"+i+"個人的英語成績"+":");
Scanners4=newScanner(System.in);
English_score=s4.nextInt();
data[i-1][3]=String.valueOf(English_score);
data[i-1][4]=String.valueOf(Chinese_score+Math_score
+English_score);
System.out.println(data[i-1][4]);
}
}
}
⑵ 編寫一個java程序來計算學生考試成績的平均分和他們的分數等級。你可以假設以下數據:
publicclassScore{
//記錄學生的姓名
privateString[] name;
//記錄分數
privateint[][] ;
//記錄分數等級
privatechar[] grade;
//存儲數據
privatevoidsaveData(){
this.name=newString[]{"Johnson","Aniston","Cooper","Gupta","Blair"};
this.fraction=newint[][]{{85,83,77,91,76},{80,90,95,93,48},{78,81,11,90,73},{92,83,30,69,87},{23,45,96,38,59}};
this.grade=newchar[this.name.length];
}
publicScore(){
//在構造函數中調用saveData存儲數據。
this.saveData();
}
//計算分數等級。傳入一個分數,返回該分數的評分等級。
privatechargetGrade(intfraction){
if(fraction>100){
//100分的考卷分數居然超過了100,肯定和老師有交易,給你個X!
return'X';
}
elseif(fraction>=85){
return'A';
}
elseif(fraction>=75){
return'B';
}
elseif(fraction>=65){
return'C';
}
elseif(fraction>=50){
return'D';
}
return'F';
}
//輸出成績/平均分/評分/班級平均分/班級評分
publicvoidprintScore(){
intaverage=0;//存儲班級的平均分
for(inti=0;i<this.fraction.length;i++){
System.out.print(this.name[i]+" ");//輸入學生的名字( 是輸出製表符,相當於按一下Tab的效果)
inttemp=0;//臨時存儲數據的變數
for(intx=0;x<this.fraction[i].length;x++){
temp+=this.fraction[i][x];
System.out.print(this.fraction[i][x]+" ");
}
temp=temp/this.fraction[i].length;//此時temp的值就是該學生的平均分
this.grade[i]=this.getGrade(temp);//存入平均分
System.out.println("平均分:"+temp+" 評價"+this.grade[i]);//輸出該學生的平均分和評價
average+=temp;
}
average=average/this.name.length;
System.out.println("班級平均分:"+average+" 班級評價"+this.getGrade(average));
}
publicstaticvoidmain(String[]args){
newScore().printScore();
}
}
運行結果:
Johnson 85 83 77 91 76 平均分:82 評價B
Aniston 80 90 95 93 48 平均分:81 評價B
Cooper 78 81 11 90 73 平均分:66 評價C
Gupta 92 83 30 69 87 平均分:72 評價C
Blair 23 45 96 38 59 平均分:52 評價D
班級平均分:70 班級評價C
⑶ java中compareto實現學生成績排列
這里很好的回答了你:http://..com
/link?url=_s83-IKIyEABYwOnZzLrqq
步驟:
1、主要是實現Comparable介面
2、重寫compareTo方法
照著這:
publicintcompareTo(Studentarg){
if(id>arg.id)
return1;
elseif(id==arg.id)
return0;
else
return-1;
}
這寫,放到集合TreeSet裡面的時候會自動比較,然後有序存儲的!
⑷ 如何用Java實現「學生成績輸入」問題
import java.util.Scanner;
public class Student{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("請輸入學生的人數....");
int num = sc.nextInt();
int[] arr = new int[num];
double[] chengji_arr = new double[num]; //存放成績的
String[] String_arr = new String[num]; //存放姓名的
String chengjis = "";
String names = "";
for(int i = 0; i < arr.length && i < String_arr.length && i < chengji_arr.length; i++){
arr[i] = i;
int s = 0;
Students st = new Students();
System.out.println("請輸入第"+(arr[i]+1)+"個學生的序號!");
st.setId(sc.nextInt());
System.out.println("請輸入第"+(arr[i]+1)+"個學生的姓名!");
st.setName(sc.next());
System.out.println("請輸入第"+(arr[i]+1)+"個學生的成績!");
st.setChengji(sc.nextDouble());
String_arr[i] = st.getName(); //保存成績
chengji_arr[i] = st.getChengji();
}
int max = 0;
int tmp = 0;
for (int i = 0; i < chengji_arr.length; i++) {
max = i;
for (int j = i + 1; j < chengji_arr.length; j++) {
if (chengji_arr[max] < chengji_arr[j])
max = j;// 記下較大數位置,再次比較,直到最大
}
if (i != max) {
tmp = (int)chengji_arr[i];
chengji_arr[i] = chengji_arr[max];
chengji_arr[max] = tmp;
}
}
for (int i = 0; i < chengji_arr.length; i++)
System.out.print("成績為:"+chengji_arr[i] + " ");
}
}
class Students{
private int id;
private String name;
private double chengji;
public void setId(int id){
this.id = id;
}
public int getId(){
return id;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setChengji(double chengji){
this.chengji = chengji;
}
public double getChengji(){
return chengji;
}
}
//代碼沒有交換學生數組下標,麻煩提問者再修改一下吧,真的要睡了,明天繼續上班,抱歉,只能幫你到這里了。
⑸ java編程,用which語句編寫一個學生成績等級評定,學生成績為百分制,而成績分為ABCDE五個
你可以不要最後一位,得到前面的,然後比較,7.8.9.10,得到的是這種格式
⑹ JAVA編程:試利用if語句將學生成績依下列的分類方式分級:00~59:e級,60~69:d級,70~
以下代碼可直接運行
import java.util.Scanner;
class student{
public static void main(String[] args){
in=new Scanner(System.in);
String answer;
do{
System.out.print("請分別輸入學生的成績:");
int score=in.nextInt();
System.out.println();
if(score<60&&score>=0){
System.out.println("該學生的成績為e級");
}else if(score<70){
System.out.println("該學生的成績為d級");
}else if(score<80){
System.out.println("該學生的成績為c級");
}else if(score<90){
System.out.println("該學生的成績為b級");
}else{
System.out.println("該學生的成績為a級");
}
System.out.print("是否繼續(y/n):");
answer=in.next();
}while(answer.equals("y"));
System.out.println("程序結束");
}
}
⑺ java學生成績分等級
最簡單的輸入輸出了,鍵盤獲取分數輸入,程序判斷分數登記,輸出成績與等級情況即可
源碼很容易的
⑻ JAVA利用分支語句對於學生的成績進行判斷輸出是否及格
看一下是否能幫助到你,你也可以到他們官網上免費學習這寫基礎知識。希望你早日學有所成!天天進步
⑼ java寫一個學生成績統計
循環給對象復制就好了,不會可以s我
⑽ java編程,用switch語句編寫一個學生成績等級評定
如圖:輸入大於100或者小於0得數會提示錯誤
importjava.util.Scanner;
publicclassTest{
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
System.out.println("請輸入成績:");
intscore=input.nextInt();
if(score>=0&&score<=100){
switch(score/10){
case10:case9:System.out.println("A");
break;case8:System.out.println("B");
break;case7:System.out.println("C");
break;case6:System.out.println("D");
break;
default:
case5:case4:case3:case2:case1:case0:
System.out.println("E");break;}}
else{System.out.println("數據錯誤!");}
}
}