import java.util.*;
创新互联公司秉承实现全网价值营销的理念,以专业定制企业官网,成都做网站、网站制作,重庆小程序开发,网页设计制作,移动网站建设,成都全网营销帮助传统企业实现“互联网+”转型升级专业定制企业官网,公司注重人才、技术和管理,汇聚了一批优秀的互联网技术人才,对客户都以感恩的心态奉献自己的专业和所长。
public class First{
public static void main(String args[]){
Scanner ss=new Scanner(System.in);
System.out.println("Enter the number of number of stuednts:");
int number=ss.nextInt();//输入学生成绩个数
int[] score=new int[number];//存储成绩的数组
System.out.println("Enter "+number+" scores:");
for(int i=0;iscore[i]=ss.nextInt();//存入成绩
}
int max=MAX(score,number);//调用MAX方法找到最高成绩
char[] level=level(score,number,max);//调用level方法判断成绩等级
for(int i=0;iSystem.out.println("Student"+ i +" score is "+ score[i]+" and grade is "+level[i]);
}
}
static char[] level(int[] a,int n,int max){//判断等级方法
char[] c=new char[n];
for(int i=0;iif(a[i]=max-20a[i]c[i]='B';
continue;
}
if(a[i]=max-30a[i]c[i]='C';
continue;
}
if(a[i]c[i]='D';
continue;
}
if(a[i]=max-10){
c[i]='A';
}
}
return c;
}
static int MAX(int[] a,int n){//找到最大值
int[] d=new int[n];
System.arraycopy(a,0,d,0,n);//备份数组
Arrays.sort(d);//将数组升序排序,最后一个元素为最大值
return d[n-1];
}
}
实现思路实际就是输入值,之后算总数后求出平均值,之后根据平均值,判断等级。\x0d\x0aimport java.util.Scanner;\x0d\x0a\x0d\x0a/**\x0d\x0a * 输入数据存入数组\x0d\x0a * \x0d\x0a * @author Administrator\x0d\x0a *\x0d\x0a */\x0d\x0apublic class ScannerInput {\x0d\x0apublic static void main(String[] args) {\x0d\x0aScanner in = new Scanner(System.in);\x0d\x0aint sum = 0, avg = 0;\x0d\x0aString str = "";\x0d\x0ado {\x0d\x0aSystem.out.print("请输入学生的人数:");\x0d\x0aint renshu = in.nextInt();// 存储学生的人数\x0d\x0aSystem.out.print("请输入课程的数目:");\x0d\x0aint courseNum = in.nextInt();// 存储课程的数目\x0d\x0aString[] name = new String[renshu];// 声明一个String数组用来存储学生的姓名\x0d\x0aString[] course = new String[courseNum];// 声明一个String数组用来存储课程的名称\x0d\x0aint[][] number = new int[renshu][courseNum];\x0d\x0a\x0d\x0a/*\x0d\x0a* 用来循环的存储课程的名称\x0d\x0a*/\x0d\x0afor (int i = 0; i System.out.print("请定义第" + (i + 1) + "门课程的名字:");\x0d\x0acourse[i] = in.next();\x0d\x0a}\x0d\x0a/*\x0d\x0a* 用来录入学生的各科成绩\x0d\x0a*/\x0d\x0afor (int i = 0; i System.out.print("请输入学生的姓名:");\x0d\x0aname[i] = in.next();\x0d\x0afor (int j = 0; j System.out.print("请输入学生" + name[i] + "的" + course[j]\x0d\x0a+ "成绩:");\x0d\x0anumber[i][j] = in.nextInt();\x0d\x0asum += number[i][j];\x0d\x0a}\x0d\x0aSystem.out.println("学生" + name[i] + "的平均分为:"\x0d\x0a+ (sum * 1.0 / courseNum));\x0d\x0aif((sum * 1.0 / courseNum)=80){\x0d\x0aSystem.out.println("优秀");\x0d\x0a}else if((sum * 1.0 / courseNum)=60){\x0d\x0aSystem.out.println("及格");\x0d\x0a}else{\x0d\x0aSystem.out.println("不及格");\x0d\x0a}\x0d\x0a}\x0d\x0a\x0d\x0aSystem.out.print("是否继续输入?(y/n):");\x0d\x0astr = in.next();\x0d\x0a} while (str.equals("y"));\x0d\x0a}\x0d\x0a}
import java.util.Scanner;
public class DemoTest03 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的成绩,按回车键确定...");
int grade = sc.nextInt();
char rank;
/*
确定成绩的范围,具体到数据
*/
if(grade = 90) rank = 'S';
else if(grade = 80) rank = 'A';
else if(grade = 70) rank = 'B';
else if(grade = 60) rank = 'C';
else rank = 'D';
/*
switch不能判断表达式
在JDK1.5之前,switch循环只支持byte short char int四种数据类型.
JDK1.5 在switch循环中增加了枚举类与byte short char int的包装类------》对四个包装类的支持是因为java编译器
在底层手动进行拆箱,而对枚举类的支持是因为枚举类有一个ordinal方法,该方法实际上是一个int类型的数值.
JDK1.7在switch循环中增加了String类型-------》但实际上String类型有一个hashCode算法,结果也是int类型.
而byte short char类型可以在不损失精度的情况下向上转型成int类型.所以总的来说,可以认为switch中只支持int.
*/
switch (rank) {
case 'S' :
System.out.println("优秀");
break;
case 'A' :
System.out.println("中");
break;
case 'B' :
System.out.println("良好");
break;
case 'C' :
System.out.println("及格");
break;
case 'D' :
System.out.println("不及格");
break;
default :
System.out.println("系统错误,不存在的等级!");
break;
}
}
}