练习题1:
请帮小明同学设计一个程序,输入上次考试成绩(int)和本次考试成绩(int),然后输出成绩提高的百分比,保留两位小数位(例如,21.75%)。
JAVA代码如下:
import java.util.Scanner;
//输入上次考试成绩(int)和本次考试成绩(int),然后输出成绩提高的百分比,保留两位小数位
public class Main {
public static void main(String[] args) {
Scanner scanner =new Scanner(System.in);
System.out.print("输入上次考试成绩:");
int a = scanner.nextInt();
System.out.print("输入本次考试成绩:");
int b =scanner.nextInt();
float s=(float)(b-a)/a*100;
System.out.printf("成绩提高了 %.2f%%",s);
}
}
运行结果:
练习题2:
请用if ... else编写一个程序,用于计算体质指数BMI,并打印结果。
BMI = 体重(kg)除以身高(m)的平方
BMI结果:
过轻:低于18.5
正常:18.5-25
过重:25-28
肥胖:28-32
非常肥胖:高于32
JAVA代码如下:
//使用if 语句来实现计算体质指数BMI,并打印结果。
import java.util.Scanner;
public class Welcome {
public static void main(String[] args){
Scanner scanner =new Scanner(System.in);
System.out.print("输入体重(kg):");
double m =scanner.nextDouble();
System.out.print("输入身高(m):");
double h = scanner.nextDouble();
double BMI = m/(h*h);
if (BMI<18.5)
{
System.out.println("过轻");
}
else if (BMI<=25)
{
System.out.println("正常");
}
else if(BMI < 28)
{
System.out.println("过重");
}
else if(BMI <32 )
{
System.out.println("肥胖");
}
else {
System.out.println("非常肥胖");
}
}
}
我以我的体重74kg,身高1.75m来进行输入测试,结果如下:
考虑一个肥胖的测试数据,例如,体重为95kg,身高为1.7m
练习题3:
使用switch实现一个简单的石头、剪子、布游戏。
JAVA代码如下:
import java.util.Scanner;
/**
*
*
switchs 实现 石头 剪刀 布 并判断胜负
*
*/
public class Main {
public static void main (String[] args)
{
String[] choices= {"石头","剪刀","布"};
System.out.println("请输入:");
System.out.println("1 石头");
System.out.println("2 剪刀");
System.out.println("3 布");//用户
Scanner scanner =new Scanner(System.in);
int choice = scanner.nextInt();//用户输入
System.out.println("你的策略:");
System.out.println(choices[choice-1]);
int random = 1 + (int) Math.random() * 3;
//计算电脑随机数
System.out.println("电脑的策略:");
System.out.println(choices[random-1]);
System.out.println("胜负判定:");
int dule = choice - random;
switch(dule){
case 0:
System.out.println("平");
break;
case -1:
System.out.println("赢");
break;
case 2:
System.out.println("赢");
break;
default:
System.out.println("负");
break;
}
}
}
分别出 剪刀 石头 和 布的 测试结果如下
练习题4:
采用冒泡排序法来对数组进行降序排列
JAVA代码如下:
import java.util.Arrays;
//采用冒泡排序法来降序排列
public class ForEach {
public static void main(String[] args) {
int[] ns = { 28, 12, 89, 73, 65, 18, 96, 50, 8, 36 };
// 排序前:
System.out.println(Arrays.toString(ns));
for(int i=ns.length-1;i>=0;i--) {
for(int j=i-1;j>=0 ;j--)
{
if(ns[i]>ns[j]) {
int t=ns[i];
ns[i]=ns[j];
ns[j]=t;
}
}
}
//排序后:
System.out.println(Arrays.toString(ns));
if (Arrays.toString(ns).equals("[96, 89, 73, 65, 50, 36, 28, 18, 12, 8]")) {
System.out.println("测试成功");
} else {
System.out.println("测试失败");
}
}
}
测试结果:
练习题5:
使用二维数组可以表示一组学生的各科成绩,请计算所有学生的平均分:
JAVA代码:
public class Average {
public static void main(String[] args) {
int[][] scores = {
{ 82, 90, 91 },
{ 68, 72, 64 },
{ 95, 91, 89 },
{ 67, 52, 60 },
{ 79, 81, 85 },
};
// TODO:
double average = 0;
double sum = 0;
int amount=0;
for(int i=0;i<=4;i++)
{
for(int j=0;j<=2;j++)
{
sum+= scores[i][j];
}
amount+=3;
}
average=sum/amount;
System.out.println(average);
if (Math.abs(average - 77.733333) < 0.000001) {
System.out.println("测试成功");
} else {
System.out.println("测试失败");
}
}
}
测试结果: