JavaHomeWorkList-Java语言程序设计(基础篇)第十版第三章部分答案
3.17 关键词:剪刀石头布;随机数
1 import java.util.Scanner; 2 public class JSB { 3 public static void main(String[] args) { 4 int a = (int)(Math.random() * 3); 5 Scanner input = new Scanner(System.in); 6 System.out.println("输入0(剪刀)/1(石头)/2(布):"); 7 int x = input.nextInt(); 8 9 if (x != 0 && x != 1 && x != 2) 10 System.out.println("请输入0/1/2!"); 11 else { 12 if (a == 0 && x == 2) 13 System.out.println("电脑是剪刀,你是布,电脑赢!"); 14 if (a == 1 && x == 0) 15 System.out.println("电脑是石头,你是剪刀,电脑赢!"); 16 if (a == 2 && x == 1) 17 System.out.println("电脑是布,你是石头,电脑赢!"); 18 if (a == 0 && x == 1) 19 System.out.println("电脑是剪刀,你是石头,你赢!"); 20 if (a == 1 && x == 2) 21 System.out.println("电脑是石头,你是布,你赢!"); 22 if (a == 2 && x == 0) 23 System.out.println("电脑是布,你是剪刀,你赢!"); 24 if (a == x) 25 System.out.println("平手!"); 26 System.out.println("电脑是:" + a); 27 } 28 input.close(); 29 } 30 31 }
3.16 关键词:矩形;随机坐标;中心点(0,0)、宽100、高200
1 public class rectangle { 2 public static void main(String[] args) { 3 int x = (int)(Math.random() * 101 - 50); 4 int y = (int)(Math.random() * 201 - 100); 5 System.out.println("矩形内随机坐标为:" + "(" + x + " , " + y + ")"); 6 7 } 8 9 }
3.14 关键词:硬币;正面;反面;0;1
1 import java.util.Scanner; 2 public class guesscoin { 3 public static void main(String[] args) { 4 int coin = (int)(Math.random() * 2); 5 Scanner input = new Scanner(System.in); 6 System.out.println("输入0或1,1代表正面,0代表反面:"); 7 int guess = input.nextInt(); 8 9 if (guess != 0 && guess != 1) 10 System.out.println("请输入0或1!"); 11 else { 12 if (guess == coin) 13 System.out.println("猜对了!"); 14 else 15 System.out.println("猜错了!"); 16 System.out.println("硬币数字为:" + coin + " ;* 1代表正面,0代表反面"); 17 } 18 input.close(); 19 } 20 }
3.9 关键词:ISBN-10;检验和
1 import java.util.*; 2 public class ISBN10 { 3 public static void main(String[] args) { 4 Scanner input = new Scanner(System.in); 5 System.out.println("输入9个数字:"); 6 7 int d1 = input.nextInt(); 8 int d2 = input.nextInt(); 9 int d3 = input.nextInt(); 10 int d4 = input.nextInt(); 11 int d5 = input.nextInt(); 12 int d6 = input.nextInt(); 13 int d7 = input.nextInt(); 14 int d8 = input.nextInt(); 15 int d9 = input.nextInt(); 16 17 int sum = (int)(d1 * Math.pow(10, 8) + d2 * Math.pow(10, 7) + d3 * Math.pow(10, 6) + d4 * Math.pow(10, 5) + d5 * Math.pow(10, 4) + d6 * Math.pow(10, 3) + d7 * Math.pow(10, 2) + d8 * Math.pow(10, 1) + d9); 18 19 int d10 = (d1 * 1 + d2 * 2 + d3 * 3 + d4 * 4 + d5 * 5 + d6 * 6 + d7 * 7 + d8 * 8 + d9 * 9) % 11; 20 System.out.println("校验和为: " + d10); 21 22 if (d1 == 0) 23 if (d10 == 10) 24 System.out.println("ISBN-10为:" + "0" + sum + "X"); 25 else 26 System.out.println("ISBN-10为:" + "0" + sum + d10); 27 else 28 System.out.println("ISBN-10为:" + sum * 10 + d10); 29 input.close(); 30 31 } 32 33 }
3.8 关键词:非降序
1 import java.util.*; 2 public class NodescendingOeder { 3 public static void main(String[] args) { 4 Scanner input = new Scanner(System.in); 5 System.out.println("输入三个整数:"); 6 int num1 = input.nextInt(); 7 int num2 = input.nextInt(); 8 int num3 = input.nextInt(); 9 /*非降序列:通常非降序列的元素定义在有序域上,每一项不小于它的前一项。非降序列通常指无穷序列。 10 例如:定义在实数域上的非降序列 1,2,3,4,5,...6 11 非降序列每项不一定严格大于它的前一项,例如 1,1,1,1,1,... 12 */ 13 if (num1 < num2) { 14 if (num1 < num3) { 15 System.out.print(num1); 16 if (num2 < num3) 17 System.out.print(" " + num2 + " " + num3); 18 else 19 System.out.print(" " + num3 + " " + num2); 20 } 21 else 22 System.out.print(num3 + " " + num1 + " " + num2); 23 } 24 else if (num1 < num3) 25 System.out.print(num2 + " " + num1 + " " + num3); 26 else if (num2 < num3) 27 System.out.print(num2 + " " + num3 + " " + num1); 28 else 29 System.out.print(num3 + " " + num2 + " " + num1); 30 input.close(); 31 } 32 }
3.5 关键词:找到将来的日期
1 import java.util.*; 2 public class FindFutureDay { 3 public static void main(String[] args) { 4 Scanner input = new Scanner(System.in); 5 System.out.println("输入一个数字,周日是0,周一是1,... 周六是6 "); 6 int day0 = input.nextInt(); 7 System.out.println("输入一个数字,表示天数: "); 8 int day1 = input.nextInt(); 9 int futureday = ( day0 + day1 ) % 7; 10 //System.out.println("Today is " + day0 + " Futureday is " + futureday); 这个语句太粗糙!!! 11 switch (day0) { 12 case 0: System.out.print("Today is Sunday and the future day is "); break; 13 case 1: System.out.print("Today is Monday and the future day is "); break; 14 case 2: System.out.print("Today is Tuesday and the future day is "); break; 15 case 3: System.out.print("Today is Wendesday and the future day is "); break; 16 case 4: System.out.print("Today is Thursday and the future day is "); break; 17 case 5: System.out.print("Today is Friday and the future day is "); break; 18 case 6: System.out.print("Today is Saturday and the future day is "); 19 } 20 21 switch (futureday) { 22 case 0: System.out.print("Sunday "); break; 23 case 1: System.out.print("Monday "); break; 24 case 2: System.out.print("Tuesday "); break; 25 case 3: System.out.print("Wendesday "); break; 26 case 4: System.out.print("Thursday "); break; 27 case 5: System.out.print("Friday "); break; 28 case 6: System.out.print("Saturday "); 29 } 30 //双重switch语句 31 input.close(); 32 33 } 34 35 }
3.11 关键词:一个月的总天数
1 import java.util.*; 2 public class DaysOfMonth { 3 public static void main(String[] args) { 4 // TODO Auto-generated method stub 5 Scanner input = new Scanner(System.in); 6 System.out.println("Enter a month and a year: "); 7 int month = input.nextInt(); 8 int year = input.nextInt(); 9 10 /*if (month ==2) 11 if ((year % 4 == 0 && year % 100 != 0) || year % 400 ==0) 12 System.out.println("February of " + year + " has" + " 29 days "); 13 else 14 System.out.println("February " + year + " has" + " 28 days "); 15 else if (month == 1 ||month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) 16 System.out.println(month + " of " + year + " has 31 days "); 17 else 18 System.out.println(month + " of " + year + " has 30 days "); 19 */ 20 if ((year % 4 == 0 && year % 100 != 0) || year % 400 ==0) 21 switch(month) { 22 case 1:System.out.println("Jan. " + year + " has 31 days."); break; 23 case 2:System.out.println("Feb. " + year + " has 29 days."); break; 24 case 3:System.out.println("Mar. " + year + " has 31 days."); break; 25 case 4:System.out.println("Apr. " + year + " has 30 days."); break; 26 case 5:System.out.println("May. " + year + " has 31 days."); break; 27 case 6:System.out.println("Jun. " + year + " has 30 days."); break; 28 case 7:System.out.println("Jul. " + year + " has 31 days."); break; 29 case 8:System.out.println("Aug. " + year + " has 31 days."); break; 30 case 9:System.out.println("Sep. " + year + " has 30 days."); break; 31 case 10:System.out.println("Oct. " + year + " has 31 days."); break; 32 case 11:System.out.println("Nov. " + year + " has 30 days."); break; 33 case 12:System.out.println("Dec. " + year + " has 31 days."); 34 } 35 else 36 switch(month) { 37 case 1:System.out.println("Jan. " + year + " has 31 days."); break; 38 case 2:System.out.println("Feb. " + year + " has 28 days."); break; 39 case 3:System.out.println("Mar. " + year + " has 31 days."); break; 40 case 4:System.out.println("Apr. " + year + " has 30 days."); break; 41 case 5:System.out.println("May. " + year + " has 31 days."); break; 42 case 6:System.out.println("Jun. " + year + " has 30 days."); break; 43 case 7:System.out.println("Jul. " + year + " has 31 days."); break; 44 case 8:System.out.println("Aug. " + year + " has 31 days."); break; 45 case 9:System.out.println("Sep. " + year + " has 30 days."); break; 46 case 10:System.out.println("Oct. " + year + " has 31 days."); break; 47 case 11:System.out.println("Nov. " + year + " has 30 days."); break; 48 case 12:System.out.println("Dec. " + year + " has 31 days."); 49 } 50 input.close(); 51 } 52 53 }
练习题,关键词:彩票
1 import java.util.Scanner; 2 public class caipiao { 3 public static void main(String[] args) { 4 int cp = (int)(Math.random() * 100);//获取一个两位数的数字作为彩票号码 5 6 Scanner input = new Scanner(System.in); 7 System.out.println("输入你猜测的彩票号码:"); 8 int guess = input.nextInt(); 9 10 int cp1 = cp / 10; 11 int cp2 = cp % 10; 12 13 int guess1 = guess / 10; 14 int guess2 = guess % 10; 15 16 System.out.println("彩票号码是:" + cp); 17 18 if (guess == cp) 19 System.out.println("恭喜你猜对了,你将获得100元!"); 20 else if (guess1 == cp2 && guess2 == cp2) 21 System.out.println("数字对了,顺序不对,你将获得50元!"); 22 else if (guess1 == cp1 || guess1 == cp2 || guess2 == cp1 || guess2 == cp2) 23 System.out.println("猜对了一个数字,你将获得30元!"); 24 else 25 System.out.println("很遗憾,你没有猜对!"); 26 input.close(); 27 28 } 29 30 }