《Java语言程序设计与数据结构》编程练习答案(第四章)(二)
英文名:Introduction to Java Programming and Data Structures, Comprehensive Version, 11th Edition
4.14
import java.util.Scanner;
public class book {
public static void main(String[] args)
{
Scanner input = new Scanner(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;
public class book {
public static void main(String[] args)
{
Scanner input = new Scanner(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");
else if((ass<='f'&&ass>='d')||(ass<='F'&&ass>='D'))
System.out.println("The corresponding number is 3");
else if((ass<='i'&&ass>='g')||(ass<='I'&&ass>='G'))
System.out.println("The corresponding number is 4");
else if((ass<='l'&&ass>='j')||(ass<='L'&&ass>='J'))
System.out.println("The corresponding number is 5");
else if((ass<='o'&&ass>='m')||(ass<='O'&&ass>='M'))
System.out.println("The corresponding number is 6");
else if((ass<='s'&&ass>='p')||(ass<='S'&&ass>='P'))
System.out.println("The corresponding number is 7");
else if((ass<='v'&&ass>='t')||(ass<='V'&&ass>='T'))
System.out.println("The corresponding number is 8");
else if((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;
public class book {
public static void main(String[] args)
{
Scanner input = new Scanner(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;
else if(month.equals("Apr")||month.equals("Jun")||month.equals("Sep")||month.equals("Nov"))
days=30;
else if(month.equals("Feb")&&isLeapYear)
days=29;
else if(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);
}
}
4.18
import java.util.Scanner;
public class book {
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.print("Enter two characters: ");
String ass = input.next();
char d1 = ass.charAt(0);
char d2 = ass.charAt(1);
String dept = "";
String grade = "";
if((d1=='M'||d1=='C'||d1=='I')&&(d2>='1'&&d2<='4'))
{
if(d1=='M')
dept="Mathematics";
else if(d1=='C')
dept="Computer science";
else
dept="IT";
if(d2=='1')
grade="Freshman";
else
grade="Junior";
System.out.printf("%s %s\n",dept,grade);
}
else
System.out.println("Invalid input");
}
}
4.19
import java.util.Scanner;
public class book {
public static void main(String[] args)
{
Scanner input = new Scanner(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;
public class book {
public static void main(String[] args)
{
System.out.print("Enter a string: ");
Scanner input = new Scanner(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;
public class book {
public static void main(String[] args)
{
System.out.print("Enter a SSN: ");
Scanner input = new Scanner(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;
public class book {
public static void main(String[] args)
{
Scanner input = new Scanner(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;
public class book {
public static void main(String[] args)
{
Scanner input = new Scanner(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;
public class book {
public static void main(String[] args)
{
Scanner input = new Scanner(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
public class book {
public static void main(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);
}
}
4.26
import java.util.Scanner;
public class book {
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.print("Enter an amount in string, for example 114.514: ");
String rawMoney = input.next();
int remains = 0;
int dot = rawMoney.indexOf('.');
if(dot==-1)
remains=Integer.parseInt(rawMoney)*100;
else
{
int dollars=Integer.parseInt(rawMoney.substring(0,dot));
int cents = 0;
if(rawMoney.length()-dot==1)
cents=10*Integer.parseInt(rawMoney.substring(dot+1));
else
cents=Integer.parseInt(rawMoney.substring(dot+1,dot+3));
remains=dollars*100+cents;
}
int numdoll = remains/100;
remains=remains%100;
int numqua = remains/25;
remains=remains%25;
int numdi = remains/10;
remains = remains%10;
int numni = remains/5;
remains = remains%5;
int nump = remains;
System.out.println("Your amount "+rawMoney+" consists of");
System.out.println(" "+numdoll+" dollars");
System.out.println(" "+numqua+" quarters");
System.out.println(" "+numdi+" dimes");
System.out.println(" "+numni+" nickels");
System.out.println(" "+nump+" pennies");
}
}
第四章 完
版权声明:本文为swy_swy_swy原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。