练习2-1
请对代码清单2-6的2处进行修改,将带有小数部分的实数值赋给x和y,查看结果如何?
答案:编译器会报错,因为小数的默认类型double是比int更大的类型。如果给double类型的变量赋值整数,则编译器不会报错。
练习2-2
请编写一段程序,对三个int型变量进行赋值,并计算合计值和平均值。
public static void main(String[] args) {
int x,y,z;
int sum,average; //合计值和平均值
Scanner sc = new Scanner(System.in);
System.out.println("请输入三个整数的值");
x = sc.nextInt();
y = sc.nextInt();
z = sc.nextInt();
sum = x+y+z;
average = sum/3;
System.out.println("合计值:"+sum+" 平均值:"+average);
}
练习2-3
请编写一段程序,如图所示,直接重复并显示通过键盘输入的整数值
Scanner sc = new Scanner(System.in);
System.out.println("整数值:");
int x = sc.nextInt();
System.out.println("输入的是:"+x);
练习2-4
请编写一段程序,如同所示,对通过键盘输入的整数值进行加10和减10的运算,并输出结果值。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("整数值:");
int x = sc.nextInt();
System.out.println("加上10后的值是:"+(x+10));
System.out.println("减去10后的值是:"+(x-10));
}
练习2-5
请编写一段程序,读入两个实数值,求它们的和与平均值并显示结果
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("x的值:");
double x = sc.nextDouble();
System.out.print("y的值:");
double y = sc.nextDouble();
System.out.println("合计值是:"+(x+y));
System.out.println("平均值是:"+(x+y)/2);
}
练习2-6
请编写一段程序,读入三角形的底和高,并显示其面积。
public static void main(String[] args) {
System.out.println("求三角形的面积");
Scanner sc = new Scanner(System.in);
System.out.print("底:");
double x = sc.nextDouble();
System.out.print("高:");
double y = sc.nextDouble();
System.out.println("面积是:"+x*y/2);
}
练习2-7
请编写如下所示程序
- 随机生成并显示一位数的正整数(1~9的值)
- 随机生成并显示一位数的负整数(-9 ~ -1的值)
- 随机生成并显示两位数的正整数(10~99的值)
public static void rand(){
Random rand = new Random(); //创建对象
int lucky = 1 + rand.nextInt(8); //生成1~9的正整数
System.out.println(lucky);
lucky = -rand.nextInt(8) - 1; //生成-9 ~ -1的值
System.out.println(lucky);
lucky = 10 + rand.nextInt(90); //生成10~99
System.out.println(lucky);
}
练习2-8
请编写一段程序,读入通过键盘输入的整数值,然后随机生成并显示其+,-5范围内的整数值
- 生成-5 ~ 5 = 生成(0~10)-5 的随机整数
Scanner sc = new Scanner(System.in); //创建键盘输入对象
Random rand = new Random(); //创建随机数对象
System.out.print("整数值:");
int num = sc.nextInt(); //输入整数值
int lucky = rand.nextInt(11) - 5; //生成-5~5的正随机数
int result = num + lucky;
System.out.println("生成了该值+-5范围内的随机数是:"+result);
练习2-9
- 随机生成并显示大于等于0.0小于1.0的实数值
- 随机生成并显示大于等于0.0小于10.0的实数值
- 随机生成并显示大于等于-1.0小于1.0的实数值
public static void rand3(){
Random rand = new Random();
double lucky1 = rand.nextDouble();
System.out.println("随机生成大于等于0.0小于1.0的实数值:" + lucky1);
double lucky2 = rand.nextDouble() + 9.0;
System.out.println("随机生成大于等于0.0小于10.0的实数值:" + lucky2);
double lucky3 = rand.nextDouble()*2.0 - 1 ;
System.out.println("随机生成大于等于-1.0小于1.0的实数值:" + lucky3);
}
练习2-10
请编写一段程序,如同所示,通过键盘分别读入姓名的姓和名,并打招呼
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.printf("姓:");
String first_name = sc.nextLine();
System.out.printf("名:");
String last_name = sc.nextLine();
System.out.println("你好"+first_name+last_name+"先生。");
}
第一章
第二章
第三章
第四章
第五章
第六章
第七章
第八章
第九章
第十章
第十一章
第十二章
第十三章
第十四章
第十五章
第十六章