英文名:Introduction to Java Programming and Data Structures, Comprehensive Version, 11th Edition
4.14
import java.util.Scanner;publicclassbook{publicstaticvoidmain(String[] args){
Scanner input =newScanner(System.in);
System.out.print("Enter a letter grade: ");char ass = input.nextLine().charAt(0);if(ass<='F'&&ass>='A')
System.out.printf("The numeric value for grade %c is %d\n",ass,4-ass+'A');else
System.out.printf("%c is an invalid grade\n",ass);}}
4.15
import java.util.Scanner;publicclassbook{publicstaticvoidmain(String[] args){
Scanner input =newScanner(System.in);
System.out.print("Enter a letter: ");char ass = input.nextLine().charAt(0);if((ass<='c'&&ass>='a')||(ass<='C'&&ass>='A'))
System.out.println("The corresponding number is 2");elseif((ass<='f'&&ass>='d')||(ass<='F'&&ass>='D'))
System.out.println("The corresponding number is 3");elseif((ass<='i'&&ass>='g')||(ass<='I'&&ass>='G'))
System.out.println("The corresponding number is 4");elseif((ass<='l'&&ass>='j')||(ass<='L'&&ass>='J'))
System.out.println("The corresponding number is 5");elseif((ass<='o'&&ass>='m')||(ass<='O'&&ass>='M'))
System.out.println("The corresponding number is 6");elseif((ass<='s'&&ass>='p')||(ass<='S'&&ass>='P'))
System.out.println("The corresponding number is 7");elseif((ass<='v'&&ass>='t')||(ass<='V'&&ass>='T'))
System.out.println("The corresponding number is 8");elseif((ass<='z'&&ass>='w')||(ass<='Z'&&ass>='W'))
System.out.println("The corresponding number is 9");else
System.out.println(ass+" is an invalid input");}}
4.16
public static void main(String[] args)
{
int ass = (int)'A'+(int)(Math.random()*26);
char dick = (char)ass;
System.out.printf("The random letter is %c\n",dick);
}
}
4.17
import java.util.Scanner;publicclassbook{publicstaticvoidmain(String[] args){
Scanner input =newScanner(System.in);
System.out.print("Enter a year: ");int year = input.nextInt();
System.out.print("Enter a month: ");
String month = input.next();boolean isLeapYear =(year%4==0&&year%100!=0)||(year%400==0);int days =0;if(month.equals("Jan")||month.equals("Mar")||month.equals("May")||month.equals("Jul")||month.equals("Aug")||month.equals("Oct")||month.equals("Dec"))
days=31;elseif(month.equals("Apr")||month.equals("Jun")||month.equals("Sep")||month.equals("Nov"))
days=30;elseif(month.equals("Feb")&&isLeapYear)
days=29;elseif(month.equals("Feb")&&!isLeapYear)
days=28;else
days=0;if(days!=0)
System.out.printf("%s %d has %d days\n",month,year,days);else
System.out.printf("%s is not a correct month name",month);}}
import java.util.Scanner;publicclassbook{publicstaticvoidmain(String[] args){
Scanner input =newScanner(System.in);
System.out.print("Enter the first 9 digits of an ISBN as String: ");
String ass = input.next();int sum=0;for(int i=1;i<=9;i++)
sum+=(ass.charAt(i-1)-'0')*i;int tail = sum%11;if(tail==10)
ass=ass+"X";else
ass=ass+tail;
System.out.println("The ISBN-10 number is "+ass);}}
4.20
import java.util.Scanner;publicclassbook{publicstaticvoidmain(String[] args){
System.out.print("Enter a string: ");
Scanner input =newScanner(System.in);
String ass = input.next();int len = ass.length();char dick = ass.charAt(0);
System.out.printf("The length is %d, and the first character is %c",len,dick);}}
4.21
import java.util.Scanner;publicclassbook{publicstaticvoidmain(String[] args){
System.out.print("Enter a SSN: ");
Scanner input =newScanner(System.in);
String ass = input.next();boolean valid =true;if(ass.length()!=11)
valid=false;else{for(int i=0;i<=2;i++)
valid=valid&&(ass.charAt(i)>='0'&&ass.charAt(i)<='9');
valid=valid&&(ass.charAt(3)=='-');for(int i=4;i<=5;i++)
valid=valid&&(ass.charAt(i)>='0'&&ass.charAt(i)<='9');
valid=valid&&(ass.charAt(6)=='-');for(int i=7;i<=10;i++)
valid=valid&&(ass.charAt(i)>='0'&&ass.charAt(i)<='9');}if(valid)
System.out.println(ass+" is a valid SSN");else
System.out.println(ass+" is an invalid SSN");}}
4.22
import java.util.Scanner;publicclassbook{publicstaticvoidmain(String[] args){
Scanner input =newScanner(System.in);
System.out.print("Enter string s1: ");
String s1 = input.next();
System.out.print("Enter string s2: ");
String s2 = input.next();if(s1.contains(s2))
System.out.println(s2+" is a substring of "+s1);else
System.out.println(s2+" is not a substring of "+s1);}}
4.23
import java.util.Scanner;publicclassbook{publicstaticvoidmain(String[] args){
Scanner input =newScanner(System.in);
System.out.print("Enter employee's name: ");
String name = input.next();
System.out.print("Enter number of hours worked in a week: ");double hour = input.nextDouble();
System.out.print("Enter hourly pay rate: ");double payRate = input.nextDouble();
System.out.print("Enter federal tax withholding rate: ");double ftax = input.nextDouble();
System.out.print("Enter state tax withholding rate: ");double stax = input.nextDouble();
System.out.printf("Employee name: %s\n",name);
System.out.printf("Hours worked: %.2f\nPay Rate: $%.2f\nGross Pay: $%.2f\n",hour,payRate,hour*payRate);
System.out.printf("Deductions:\n Federal Withholding (%f%%): $%.2f\n State Withholding (%f%%): $%.2f\n Total Deduction: $%.2f\n",ftax*100,ftax*hour*payRate,stax*100,stax*hour*payRate,ftax*hour*payRate+stax*hour*payRate);
System.out.printf("Net Pay: $%.2f\n",hour*payRate*(1-ftax-stax));}}
4.24
import java.util.Scanner;publicclassbook{publicstaticvoidmain(String[] args){
Scanner input =newScanner(System.in);
System.out.print("Enter the first city: ");
String ass1 = input.nextLine();
System.out.print("Enter the second city: ");
String ass2 = input.nextLine();
System.out.print("Enter the third city: ");
String ass3 = input.nextLine();if(ass1.compareTo(ass2)>0){
String ass0 = ass1;
ass1 = ass2;
ass2 = ass0;}if(ass2.compareTo(ass3)>0){
String ass0 = ass2;
ass2 = ass3;
ass3 = ass0;}if(ass1.compareTo(ass2)>0){
String ass0 = ass1;
ass1 = ass2;
ass2 = ass0;}
System.out.printf("The three cities in alphabetical order are %s %s %s",ass1,ass2,ass3);}}
4.25
publicclassbook{publicstaticvoidmain(String[] args){
String ass ="";for(int i=0;i<3;i++)
ass +=(char)((int)('A'+Math.random()*26));for(int i=0;i<4;i++)
ass+=(char)('0'+Math.random()*10);
System.out.println("The AV-code is "+ass);}}