[Java] 实验4參考代码
题目、提示、代码、解释都已公布。
提供这些的目的不是要求大家要写得像我写得这样,而是希望大家在实验后看看别人写的代码:
1. 提升理解代码的能力。
2. 不要自满于完毕题目。要明确你的代码是能够写得更高效、更简洁、更具表达力、更美好的。
大写和小写转换
题目
程序填空,不要改变与输入输出有关的语句。
输入一个大写英文字母。输出相应的小写字母。例:
输入
G
输出
g
提示
在 [Java] 作业2答疑Q31中,我们谈到了int和char间的相互转换。
大家能够參考Q31中给出的代码,编写一个java程序,在控制台先输出字符'a', 'A', 'b', 'B'相应的int数值,看看有什么规律。
代码
import java.io.*; public class UpperToLower { public static void main(String[] args) throws IOException { char ch = (char) System.in.read(); System.out.println((char) (ch - 'A' + 'a')); } }解释
易知 upper - 'A' == lower - 'a', 由此我们有结果lower = upper - 'A' + 'a'.
计算三门课程的平均成绩
题目
程序填空,不要改变与输入输出有关的语句。
已知某位学生的数学、英语和计算机课程的成绩各自是87分、72分和93分,求该生3门课程的平均分。
本题无输入。
输出演示样例:
math = 87, eng = 72, comp = 93
average = 84
提示
1.
一定要认真读题,看清题意。
一定要认真读题,看清题意。
一定要认真读题,看清题意。
2. 变量使用前要初始化(不正式地说:变量使用前要“赋值”)
代码
import java.util.Scanner; public class Average { public static void main(String[] args) { int math = 87, eng = 72, comp = 93; System.out.println( "math = " + math + ", eng = " + eng + ", comp = " + comp); System.out.println("average = " + (math+eng+comp)/3); } }
计算存款利息
题目
输入存款金额 money、存期 year 和年利率 rate。依据下列公式计算存款到期时的利息 interest(税前),输出时保留2位小数。
interest = money(1+rate)^year - money
输入输出演示样例:括号内为说明
输入
1000 3 0.025 (money = 1000, year = 3, rate = 0.025)
输出
interest = 76.89
提示
Math.pow(a, 3); //计算a的3次方
代码
import java.util.Scanner; public class Interest { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int money = scanner.nextInt(); int year = scanner.nextInt(); double rate = scanner.nextDouble(); double interest = money * (Math.pow(1+rate, year) - 1); System.out.println("interest = " + (int)(interest*100+0.5)/100.0); } }
计算两个整数的和、差、积、商与余数
提示
在输出num1 - num2报错的同学,參考下述代码:
System.out.println("Minus result: " + (num1 - num2));代码
import java.util.Scanner; public class TwoNumbers { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int num1 = scanner.nextInt(); int num2 = scanner.nextInt(); System.out.println(num1 + "+" + num2 + "=" + (num1 + num2)); System.out.println(num1 + "-" + num2 + "=" + (num1 - num2)); System.out.println(num1 + "*" + num2 + "=" + num1 * num2); System.out.println(num1 + "/" + num2 + "=" + num1 / num2); System.out.println(num1 + "%" + num2 + "=" + num1 % num2); } }
输出四门课的平均分
题目
编程,执行程序后输入4门课成绩(整数)。计算并按演示样例格式输出平均分。
说明:
1)程序中的第一个大括号“{”必须位于类名所在行。
2)类名与变量名由编程者自取。
3)指明为整数或整数的数据,不要用浮点类型。
输入输出演示样例:括号内是说明
输入
68 75 91 87
输出(输出中无空格,行尾换行)
average=80.25
提示
1. 输出80而不是80.25的同学,请猜想下述语句的输出结果,并在eclipse中验证猜想:
System.out.println(321 / 4);
2. 系统判定程序正确。是通过检查你的程序输出的每个字符是否全然和系统的输出匹配。“输出中无空格。行尾换行”
代码
import java.util.Scanner; public class AverageOfFourCourses { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); double sum = 0; for (int i = 0; i < 4; ++ i) sum += scanner.nextInt(); System.out.println("average=" + sum/4); } }