第三章
复习题
3.1 <; <=; ==; !=; >; >=
3.2 不能转换。布尔型不能转换到其它类型。
3.3-3.11
3.3
number = 30:
a: 30 is even.
30 is odd.
b: 30 is even.
number = 35:
a: 35 is odd.
b: 35 is odd.
3.4
1.无输出
2.z is 7
3.x is 2
3.5
缩进正确的:b,c,d
等价的:bd
3.6
if(x>2){
if(y>2){
int z = x + y;
System.out.println("z is" + z);
}
}else{
System.out.println("x is " + x);
}
3.7 yes
3.8 0.5; 0.0; 0.234
3.9 (int)(Math.random())*20
(int)(Math.random()*10)+10
(int)(Math.random()*41)+10
3.10
if(y>0){
x=1;
}
3.11
(1)
if(score>90){
pay+=pay*3%;
}
(2)
if(score>90){
pay+=pay*3%;
}else{
pay+=pay*1%;
}
3.13
newLine=(count%10==0)
3.14
false
false
true
true
true
true
3.15
(num>1)&&(num<100)
3.16
(num>1)&&(num<100)||(num<0)
3.17
x/=y
3.18
2,1
3.19
If ch is 'A', the expression is true;
If ch is 'p', the expression is false;
If ch is 'E', the expression is true;
If ch is '5', the expression is false;
3.20
true
true
false
true
true
3.21
(age>13)&&(age<18)
3.22
(weight>50)||(heigt>160)
3.23
(weight>50)&&(heigt>160)
3.24
(weight>50)^(heigt>160)
3.25
char,int,short,byte
还可以接受String和enum类型的参数。
现在java 7是可以接受String了
如果在执行完case语句后没有使用关键字break, 那么下一个 case statement 被执行
switch可读性高,而且效率快
3.26
y=2
3.27
switch(a){
case 1:
x+=5;
break;
case 2:
x+=10;
break;
case 3:
x+=16;
break;
case 4:
x+=34;
}
3.28
public class DemoTest {
public static void main(String[] args) {
int day=3;
String dayName="";
switch(day){
case 0:
dayName="Sunday";
break;
case 1:
dayName="Monday";
break;
case 2:
dayName="Tuesday";
break;
case 3:
dayName="Wednesday";
break;
case 4:
dayName="Thursday";
break;
case 5:
dayName="Friday";
break;
case 6:
dayName="Saturday";
break;
}
System.out.println(dayName);
}
}
3.29
public class DemoTest {
public static void main(String[] args){
int count=10;
System.out.print(count%10==0? (count +"\n"):(count + ""));
}
}
3.30
pay=((temperature>90)?pay*1.5:pay*1.1);
3.31
输出布尔值,字符,十进制整数,浮点数和字符串的格式描述符分别是 %b, %c, %d, %f, and %s.
3.32
(a) the last item 3 does not have any specifier.
(b) There is not enough items
(c) The data for %f must a floating-point value
3.33
(a)amount is 32.320000 3.233000e+01
(b)amount is 32.3200 3.2330e+01
(c) *false
(d) **Java
(e)false*Java
(f)*falseJava****
3.34
%s
Use the String.format method to create a formatted string.
3.35
运算符顺序是:^, &&, and ||
3.36
true
3.37
false
false
3.38
是
----------------------------------------------------------------------------------
编程练习
3.1
import java.util.Scanner;
public class DemoTest {
public static void main(String[] args){
Scanner input=new Scanner(System.in);
System.out.print("pls enter a,b,c:");
double a = input.nextDouble();
double b = input.nextDouble();
double c = input.nextDouble();
double r1,r2;
r1=(-b+Math.pow((b*b-4*a*c),0.5))/(2*a);
r2=(-b-Math.pow((b*b-4*a*c),0.5))/(2*a);
if(b*b-4*a*c>0) {
System.out.println(r1 + "and" + r2);
}else if(b*b-4*a*c==0){
System.out.println(r1);
}else{
System.out.println("no real roots");
}
}
}
3.2
import java.util.Scanner;
public class DemoTest {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("pls enter a number:");
int a = input.nextInt();
if (a % 2 == 0) {
System.out.println("true");
} else {
System.out.println("false");
}
}
}
3.3
import java.util.Scanner;
public class DemoTest {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("pls enter a,b,c,d,e,f:");
double a=input.nextDouble();
double b=input.nextDouble();
double c=input.nextDouble();
double d=input.nextDouble();
double e=input.nextDouble();
double f=input.nextDouble();
double x,y;
x=(e*d-b*f)/(a*d-b*c);
y=(a*f-e*c)/(a*d-b*c);
if (a*d-b*c == 0) {
System.out.println("the equation has no solution");
} else {
System.out.println("x="+x+"y="+y);
}
}
}
3.4
import java.util.Scanner;
public class DemoTest {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int a=(int)(Math.random()*100);
int b=(int)(Math.random()*100);
System.out.print("pls enter sum of:"+a+"+"+b+"is");
int c = input.nextInt();
System.out.println(a+b==c ? true:false);
}
}
3.5
import java.util.Scanner;
public class DemoTest {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int a=(int)(Math.random()*10);
int b=(int)(Math.random()*10);
int c=(int)(Math.random()*10);
System.out.print("pls enter sum of:"+a+"+"+b+"+"+c+"is");
int d = input.nextInt();
System.out.println(a+b+c==d ? true:false);
}
}
3.6
3.7
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter an amount in double,for eg. 11.56");
double amount=input.nextDouble();
int remainingAmount=(int)(amount*100);
int numberOfOneDollars=remainingAmount/100;
remainingAmount=remainingAmount%100;
int numberOfQuarters=remainingAmount/25;
remainingAmount=remainingAmount%25;
int numberOfDimes = remainingAmount / 10;
remainingAmount = remainingAmount % 10;
int numberOfNickels=remainingAmount/5;
remainingAmount = remainingAmount % 5;
int numberOfPennies=remainingAmount;
System.out.println("Your amount"+amount+"consists of");
if(numberOfOneDollars<=0){
System.out.print("");
}else if(numberOfOneDollars==1){
System.out.println("\t"+numberOfOneDollars+" dollar");
}else{
System.out.println("\t"+numberOfOneDollars+" dollars");
}
if(numberOfQuarters<=0){
System.out.print("");
}else if(numberOfQuarters==1){
System.out.println("\t"+numberOfQuarters+" quarter");
}else{
System.out.println("\t"+numberOfQuarters+" quarters");
}
if(numberOfDimes<=0){
System.out.print("");
}else if(numberOfDimes==1){
System.out.println("\t"+numberOfDimes+" dimes");
}else{
System.out.println("\t"+numberOfDimes+" dimes");
}
if(numberOfNickels<=0){
System.out.print("");
}else if(numberOfNickels==1){
System.out.println("\t"+numberOfNickels+" nickel");
}else{
System.out.println("\t"+numberOfNickels+" nickels");
}
if(numberOfPennies<=0){
}else if(numberOfPennies==1){
System.out.println("\t"+numberOfPennies+" pennie");
}else{
System.out.println("\t"+numberOfPennies+" pennies");
}
}
}
3.8
import java.util.Scanner;
public class DemoTest {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter three integer:");
int num1=input.nextInt();
int num2=input.nextInt();
int num3=input.nextInt();
int temp;
if(num2>num3) {
temp = num2;
num2 = num3;
num3 = temp;
}
if(num1>num3){
temp=num3;
num1=num3;
num3=num1;
}
if(num1>num2){
temp=num1;
num1=num2;
num2=temp;
}
System.out.println(num1+"<="+num2+"<="+num3);
}
}
用数组排序
import java.util.Scanner;
import java.util.Arrays;
public class DemoTest {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter three integer:");
int num1=input.nextInt();
int num2=input.nextInt();
int num3=input.nextInt();
int[] array={num1,num2,num3};
Arrays.sort(array);
for(int i=0;i<array.length;i++){
System.out.println(array[i]);
}
}
}
3.9
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter nine integer: ");
int d1=input.nextInt();
int d2=input.nextInt();
int d3=input.nextInt();
int d4=input.nextInt();
int d5=input.nextInt();
int d6=input.nextInt();
int d7=input.nextInt();
int d8=input.nextInt();
int d9=input.nextInt();
int d10=(d1*1+d2*2+d3*3+d4*4+d5*5+d6*6+d7*7+d8*8+d9*9)%11;
System.out.println(d1+""+d2+""+d3+""+d4+""+d5+""+d6+""+d7+""+d8+""+d9+""+d10);
}
}
3.10
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int num1 = (int) (Math.random() * 100);
int num2 = (int) (Math.random() * 100);
System.out.println("pls enter the sum of "+num1+"+"+num2+"=");
int sum=input.nextInt();
if(sum==(num1+num2)){
System.out.println("Correct!");
}else{
System.out.println("pls rechecking the result!");
}
}
}
3.11
import java.util.Scanner;
public class Main {
public static int method(int year, int month) {
int days;
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
days = 31;
} else if (month == 2) {
if (year % 4 == 0) {
days = 29;
} else {
days = 28;
}
}else{
days=30;
}
return days;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入年:");
int year = scanner.nextInt();
System.out.print("请输入月:");
int month = scanner.nextInt();
System.out.println(year+" year"+month+" month have "+method(year,month)+" days");
}
}
3.12
import java.util.Scanner;
public class Main {
private static void method(int num) {
if(num%5!=0&&num%6!=0){
System.out.print(num+"is not divisible by either 5 or 6");
}else if(num%5==0&&num%6==0){
System.out.println(num+"is divisible by both 5 and 6");
}else{
System.out.println(num+"is divisible by 5 or 6,but not both");
}
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("pls enter a integer");
int num=input.nextInt();
method(num);
}
}
或者用异或
import java.util.Scanner;
public class Main {
private static void method(int num) {
if(num%5==0&&num%6==0){
System.out.println(num+"is divisible by both 5 and 6");
}else if(num%5==0^num%6==0){
System.out.println(num+"is divisible by 5 or 6,but not both");
}else{
System.out.println(num+"is not divisible by either 5 or 6");
}
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("pls enter a integer");
int num=input.nextInt();
method(num);
}
}
3.14
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("Enter your guess: ");
int guess=input.nextInt();
int result=(int)(Math.random()*2);
System.out.println("the result is "+result);
if(guess==result){
System.out.println("correct!");
}else if(result==0){
System.out.println("head");
}else{
System.out.println("tail");
}
}
}
3.15
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("pls enter your numbers: ");
int guessDigits=input.nextInt();
int lottery=(int)(Math.random()*1000);
System.out.println("the winning numbers is "+lottery);
int lotteryDigit1=lottery/100;
lottery=lottery%100;
int lotteryDigit2=lottery/10;
int lotteryDigit3=lottery%10;
int guessDigit1=guessDigits/100;
guessDigits=guessDigits%100;
int guessDigit2=guessDigits/10;
int guessDigit3=guessDigits%10;
boolean secondPrize=(guessDigit1==lotteryDigit2&&guessDigit2==lotteryDigit3&&guessDigit3==lotteryDigit1)||
(guessDigit1==lotteryDigit2&&guessDigit2==lotteryDigit1&&guessDigit3==lotteryDigit2)||
(guessDigit1==lotteryDigit3&&guessDigit2==lotteryDigit1&&guessDigit3==lotteryDigit2)||
(guessDigit1==lotteryDigit3&&guessDigit2==lotteryDigit2&&guessDigit3==lotteryDigit1)||
(guessDigit1==lotteryDigit1&&guessDigit2==lotteryDigit3&&guessDigit3==lotteryDigit2);
boolean thirdPrize=guessDigit1==lotteryDigit1||guessDigit1==lotteryDigit2||guessDigit1==lotteryDigit3||
guessDigit2==lotteryDigit2||guessDigit2==lotteryDigit3||3==lotteryDigit3;
if(guessDigits==lottery){
System.out.println("Exact Match,you win 10,000 dollars");
}else if(secondPrize){
System.out.println("Match all digits,you win 3,000 dollars ");
}else if(thirdPrize){
System.out.println("Match one digits,you win 1,000 dollars");
}else{
System.out.println("Sorry,no match");
}
}
}
3.16
提示一共26个英文字母
public class Main{
public static void main(String[] args) {
System.out.println((char)('A'+Math.random() * 27));
}
}
3.17
import java.util.Random;
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("pls enter your number(scissor(0),rock(1),paper(2):");
int num1=input.nextInt();
Random random=new Random();
int num=random.nextInt(3);
boolean draw=(num1==0&&num==0)||(num1==1&&num==1)||(num1==2&&num==2);
if(draw){
System.out.println("it is draw");
}else if(num1==0){
if(num==1) {
System.out.println("you failure,you are scissor,the computer is rock");
}else if(num==2){
System.out.println("you win,you are scissor,the computer is paper");
}
}else if(num1==1){
if(num==2) {
System.out.println("you failure,you are rock,the computer is paper");
}else if(num==0){
System.out.println("you win,you are rock,the computer is scissor");
}
}else if(num1==2){
if(num==1) {
System.out.println("you win,you are paper,the computer is rock");
}else if(num==0){
System.out.println("you failure,you are rock,the computer is paper");
}
}
}
}
3.19
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("enter three edges:");
double a=input.nextDouble();
double b=input.nextDouble();
double c=input.nextDouble();
System.out.println("Can edges"+a+","+b+","+c+"form a triangle?");
boolean result=(a+b)>c&&(a+c)>b&&(b+c)>a;
System.out.println(result);
}
}
3.21
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("enter year:(e.g.,2008)");
int year=input.nextInt();
System.out.println("enter month: 1-12");
int month=input.nextInt();
System.out.println("enter the day of month: 1-31");
int day=input.nextInt();
if(month==1||month==2){
month=month+12;
year=year-1;
}
int k=year%100;
int j=(int)(year/100);
int h=(day+(int)(26*(month+1)/10)+k+(int)(k/4)+(int)(j/4)+5*j)%7;
String result;
if(h==0){
result="Saturday";
}else if(h==1){
result="Sunday";
}else if(h==2){
result="Monday";
}else if(h==3){
result="Tuesday";
}else if(h==4){
result="Wednesday";
}else if(h==5){
result="Thursday";
}else{
result="Friday";
}
System.out.println("Day of the week is "+result);
}
}
3.22
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("enter a point with two coordinates");
double x=input.nextDouble();
double y=input.nextDouble();
double z=Math.pow(((x-0)*(x-0)+(y-0)*(y-0)),0.5);
double k=10;
System.out.println(z<=k?"in the circle":"not in the circle");
}
}
3.23
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("enter a point with two coordinates");
double x=input.nextDouble();
double y=input.nextDouble();
System.out.println(x<=(5/2)&&y<=(10/2)?"in the rectangle":"not in the rectangle");
}
}
3.24
public class Main{
public static void main(String[] args) {
final int NUM_OF_CARDS=52;
int k=(int)(Math.random()*NUM_OF_CARDS);
String result=null;
String color=null;
if(k%13==0){
result="Ace";
}else if (k%13==10){
result="Jack";
}else if(k%13==11){
result="Queen";
}else if(k%13==12){
result="King";
}else {
result=k%13+"";
}
if(k/13==0){
color="Clubs";
}else if(k/13==1){
color="Diamond";
}else if(k/13==2){
color="Heart";
}else if(k/13==3){
color="Spades";
}
System.out.println(result+" of " +color);
}
}
3.25
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("enter the a,b,c:");
double a=input.nextDouble();
double b=input.nextDouble();
double c=input.nextDouble();
boolean legitimate=(a+b)>c&&(a+c)>b&&(b+c)>a;
if(legitimate){
System.out.println(a+b+c);
}else{
System.out.println("invalid");
}
}
}
3.26
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("enter the number:");
int a=input.nextInt();
boolean result=a%5==0&&a%6==0;
System.out.println("Is " + a + " divisible by 5 and 6?"+result);
result=a%5==0 || a%6==0;
System.out.println("Is " + a + " divisible by 5 or 6?"+result);
result=a%5==0^a%6==0;
System.out.println("Is " + a + " divisible by 5 or 6, but not " +
"both?"+ result);
}
}
P110
相关文章
- Java语言程序设计基础篇第十版第一章编程练习题答案
- Java语言程序设计-基础篇-第八版-编程练习题-第六章
- Java语言程序设计-基础篇-第八版-复习题-第二章
- Java语言程序设计-基础篇-第八版-复习题-第四章
- 【Java语言程序设计(基础篇)第10版 练习题答案】Practice_9_1
- 【Java语言程序设计(基础篇)第10版 练习题答案】Practice_6_3
- 【Java语言程序设计(基础篇)第10版 练习题答案】Practice_6_1
- 【Java语言程序设计(基础篇)第10版 练习题答案】Practice_9_2
- 【Java语言程序设计(基础篇)】第三章编程练习题
- java语言程序设计-基础篇(第八版)第三章课后题答案