栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

编写 “成绩分析” 程序代码,用DOS命令编译、运行

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

编写 “成绩分析” 程序代码,用DOS命令编译、运行

编写一段程序代码,使得本班同学可以在输入主要科目考试成绩后,获得成绩的分析结果。 下图为思路:

代码如下:
class ResultsSearch
{
	public static void main(String[] args) 
	{
		Scanner in = new Scanner(System.in);
		System.out.println("* * * * * * * * * 成绩分析程序 * * * * * * * * *");	//输出本程序名字,通过命名本程序来介绍本程序功能
		System.out.println("请按所给顺序输入各科成绩,以空格键隔开");	//输出程序要求
		
		double a=4;	//定义各科目学分
		double b=2;
		double c=2;
		double d=3;
		double e=3;
		double f=3;
		double g=1;
		System.out.println("高等数学B1:");	//输出各科目名称
		System.out.println("高级语言程序设计B:");
		System.out.println("高级语言程序设计B实验:");
		System.out.println("大学英语1:");
		System.out.println("形势与政策:");
		System.out.println("中国近现代史纲要:");
		System.out.println("大学体育1:");
		double aa=in.nextInt();	//定义并输入个科目得分
		double bb=in.nextInt();
		double cc=in.nextInt();
		double dd=in.nextInt();
		double ee=in.nextInt();
		double ff=in.nextInt();
		double gg=in.nextInt();
		double aaa=aa/10-5;	//定义并计算各科目绩点
		double bbb=bb/10-5;
		double ccc=cc/10-5;
		double ddd=dd/10-5;
		double eee=ee/10-5;
		double fff=ff/10-5;
		double ggg=gg/10-5;
		double a_b=(a*aaa+b*bbb+c*ccc+d*ddd+e*eee+f*fff+g*ggg)/(a+b+c+d+e+f+g);	//定义并计算平均绩点
		System.out.println();	//空一行
		System.out.println(String.format("你的平均绩点是:%.1f",a_b));	//输出平均绩点
		System.out.println();	//空一行
		if(a_b>=4) //分析成绩,输出成绩分析结果
			System.out.println("你的本次成绩非常好。路灯经过一夜的努力,才无愧地领受第一缕晨光的抚慰。同学,你是妥妥的学霸!");
		else if(a_b>=3)
			System.out.println("你的本次成绩较好。希望和勤奋作伴,便能如虎添翼。继续加油!你会更出色!");
		else if(a_b>=2.5)
			System.out.println("你的本次成绩不错。目光能看多远,你就能走多远。继续加油,保持清醒与勤奋,你一定会有进步的");
		else if(a_b>=2.0)
			System.out.println("你的本次成绩距离申请学位证的成绩要求只有一点距离了。当你感到迷茫的时候,请你抬头看看天边的阳光。继续加油!保持清醒与勤奋,你一定会有进步的");
		else
			System.out.println("你的本次成绩距离申请学位证的成绩要求有一点距离。一分浮躁,一分遗憾。行动是治愈迷惘和犹豫的良药。加油!端正态度,找对方法,保持清醒与勤奋,你一定会有进步的");
		System.out.println("");	//空一行,另一行输出鼓励学习的话
		System.out.println("学习可以给人以机遇,机遇对于每个人都是平等的。没有准备很难把握机遇。有了准备,随时都有机遇。学习可以使你成为有准备的人,我们得到的许多恩泽都是随心创造的。");
		System.out.println("当有一种真正的精神生活,活泼地也深刻地植根于一个人的生命之中,那么无论周围的生命本身都显现出一种挺拔向上的姿态,这种人生才是真正值得的.");	

	}
}
使用 CMD.EXE 编译、运行此代码,使用 javac 【文件名】命令进行编译,出现了错误:

错误:编码 GBK 的不可映射字符

这是为什么呢?
查询后得出以下结果:

“但是在用javac -d命令编译上述源代码总会出现
错误:编码 GBK 的不可映射字符 (0x8C)

上网搜了搜网上的解释:
  由于JDK是国际版的,我们在用javac编译时,编译程序首先会获得我们操作系统默认采用的编码格式(GBK),然后JDK就把Java源文件从GBK编码格式转换为Java内部默认的Unicode格式放入内存中,然后javac把转换后的Unicode格式的文件编译成class类文件,此时,class文件是Unicode编码的,它暂存在内存中,紧接着,JDK将此以Unicode格式编码的class文件保存到操作系统中形成我们见到的class文件。当我们不加设置就编译时,相当于使用了参数:javac -encoding GBK Test.java,就会出现不兼容的情况。

解决方法:使用-encoding参数指明编码方式:javac -encoding UTF-8 Test.java,就可以了。

版权声明:本文为CSDN博主「阿腾木」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。“
原文
注:javac【文件名】 命令可以编译成功纯英文代码

使用 javac -encoding UTF-8 【文件名】命令编译,出现了新的问题:

错误: 找不到符号 Scanner scan=Scanner(System.in);

这是为什么呢?
查询后得出以下结果

原文

在第一行加入“import java.util.Scanner;”后,代码如下:
import java.util.Scanner;	//获取用户的输入的包

class ResultsSearch
{
	public static void main(String[] args) 
	{
		Scanner in = new Scanner(System.in);
		System.out.println("* * * * * * * * * 成绩分析程序 * * * * * * * * *");	//输出本程序名字,通过命名本程序来介绍本程序功能
		System.out.println("请按所给顺序输入各科成绩,以空格键隔开");	//输出程序要求
		
		double a=4;	//定义各科目学分
		double b=2;
		double c=2;
		double d=3;
		double e=3;
		double f=3;
		double g=1;
		System.out.println("高等数学B1:");	//输出各科目名称
		System.out.println("高级语言程序设计B:");
		System.out.println("高级语言程序设计B实验:");
		System.out.println("大学英语1:");
		System.out.println("形势与政策:");
		System.out.println("中国近现代史纲要:");
		System.out.println("大学体育1:");
		double aa=in.nextInt();	//定义并输入个科目得分
		double bb=in.nextInt();
		double cc=in.nextInt();
		double dd=in.nextInt();
		double ee=in.nextInt();
		double ff=in.nextInt();
		double gg=in.nextInt();
		double aaa=aa/10-5;	//定义并计算各科目绩点
		double bbb=bb/10-5;
		double ccc=cc/10-5;
		double ddd=dd/10-5;
		double eee=ee/10-5;
		double fff=ff/10-5;
		double ggg=gg/10-5;
		double a_b=(a*aaa+b*bbb+c*ccc+d*ddd+e*eee+f*fff+g*ggg)/(a+b+c+d+e+f+g);	//定义并计算平均绩点
		System.out.println();	//空一行
		System.out.println(String.format("你的平均绩点是:%.1f",a_b));	//输出平均绩点
		System.out.println();	//空一行
		if(a_b>=4) //分析成绩,输出成绩分析结果
			System.out.println("你的本次成绩非常好。路灯经过一夜的努力,才无愧地领受第一缕晨光的抚慰。同学,你是妥妥的学霸!");
		else if(a_b>=3)
			System.out.println("你的本次成绩较好。希望和勤奋作伴,便能如虎添翼。继续加油!你会更出色!");
		else if(a_b>=2.5)
			System.out.println("你的本次成绩不错。目光能看多远,你就能走多远。继续加油,保持清醒与勤奋,你一定会有进步的");
		else if(a_b>=2.0)
			System.out.println("你的本次成绩距离申请学位证的成绩要求只有一点距离了。当你感到迷茫的时候,请你抬头看看天边的阳光。继续加油!保持清醒与勤奋,你一定会有进步的");
		else
			System.out.println("你的本次成绩距离申请学位证的成绩要求有一点距离。一分浮躁,一分遗憾。行动是治愈迷惘和犹豫的良药。加油!端正态度,找对方法,保持清醒与勤奋,你一定会有进步的");
		System.out.println("");	//空一行,另一行输出鼓励学习的话
		System.out.println("学习可以给人以机遇,机遇对于每个人都是平等的。没有准备很难把握机遇。有了准备,随时都有机遇。学习可以使你成为有准备的人,我们得到的许多恩泽都是随心创造的。");
		System.out.println("当有一种真正的精神生活,活泼地也深刻地植根于一个人的生命之中,那么无论周围的生命本身都显现出一种挺拔向上的姿态,这种人生才是真正值得的.");	

	}
}
使用 CMD.EXE 编译、运行此代码:


运行成功

完成
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/754859.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号