《Java语言程序设计与数据结构》编程练习答案(第四章)(二)

《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");
    }
}

第四章 完

发布了75 篇原创文章 · 获赞 61 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/swy_swy_swy/article/details/104459009
今日推荐