题目、提示、代码、解释都已发布。
提供这些的目的不是要求大家要写得像我写得这样,而是希望大家在实验后看看别人写的代码:
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);
}
}