《Java語言程式設計(基礎篇)(原書第10版)》第2~4章部分程式設計練習題程式碼

Xiaobai_Tan發表於2018-08-01

這內容只包括本人在上《Java語言程式設計》這門課時老師佈置的題目。因此,這部分程式碼只是原書的一小部分程式設計題。
例:(2.6)意思是:第2章的第6題。

(2.6)(求一個整數各位數的和)

package javahomework;

import java.util.Scanner;

public class java0206 {
    public static void main (String[] args) {
        //Create a Scanner object 
        Scanner input =new Scanner(System.in);
        System.out.print("Enter a number between 0 and 1000:");
        int number = input.nextInt();
        int a = number/1000;//判斷千位數
        int b = number/100-a*10;//統計百位數
        int c = number/10-a*100-b*10;//統計十位數
        int d = number-a*1000-b*100-c*10;//統計個位數
        int s = a+b+c+d;//求各個位數的總和
        System.out.println("The sum of the digit is "+ s );
    }
}

(2.10)(科學:計算能量)

package javahomework;

import java.util.Scanner;

public class java0210 {
    public static void main (String[] args) {
        //Create a Scanner object 
        Scanner input =new Scanner(System.in);
        System.out.print("Enter the amount of water in kilograms:");
        double number1 = input.nextDouble();
        System.out.print("Enter the initial temperature:");
        double number2 = input.nextDouble();
        System.out.print("Enter the final temperature:");
        double number3 = input.nextDouble();

        double Q = number1*(number3-number2)*4184;
        System.out.println("The energy needed is " + Q );
    }

}

(3.9)(商業:檢查ISBN-10)

package javahomework;

import java.util.Scanner;
public class java0309 {
   public static void main(String[] args) {
       Scanner input = new Scanner(System.in);
       System.out.print("Enter the first 9 digits of an ISBN as integer: ");
       String num = input.nextLine();
       String[] nums = new String [num.length()];
       for (int i = 0; i < num.length();i++) {
           nums[i] = num.charAt(i)+"";
       }
       int A = 0;
       for (int i = 0; i < nums.length; i++) {
           A = A + Integer.parseInt(nums[i]) * (i+1) ;
       }
       A = A % 11;
       if (A == 10) {
          System.out.println("The ISBN-10 number is " + num + "X"); 
       }
       else
          System.out.println("The ISBN-10 number is " + num + A);
   }

}

(3.21)(科學:某天是星期幾)

package javahomework;

import java.util.Scanner;
public class java0321{
    public static void main(String[] args) {
        Scanner input = new Scanner (System.in);
        System.out.print("Enter year:(e.g.,2012): ");
        int year = input.nextInt();
        System.out.print("Enter month: 1-12: ");
        int month = input.nextInt();
        System.out.print("Enter the day of the month: 1-31:");
        int day = input.nextInt();
        int q, m, j, k;
        q = day;
        if(month == 1) {
            m = 13;
            year = year -1;
        }
        else if(month == 2){
            m = 14;
            year = year -1;
        }
        else {
            m = month;
        }
        j = (int)Math.floor(year/100);
        k = year % 100;
        int h;
        h = (q + (26*(m + 1))/10 + k + k/4 + j/4 + 5*j) % 7;
        switch(h) {
        case(0):System.out.println("Day of the week is Saturday");break;
        case(1):System.out.println("Day of the week is Sunday");break;
        case(2):System.out.println("Day of the week is Monday");break;
        case(3):System.out.println("Day of the week is Tuesday");break;
        case(4):System.out.println("Day of the week is Wednesday");break;
        case(5):System.out.println("Day of the week is Thursday");break;
        case(6):System.out.println("Day of the week is Friday");break;
        }

    }

}

(3.23)(幾何:點是否在矩形內?)

package javahomework;

import java.util.Scanner;
public class java0323 {
    public static void main(String[] args) {
        Scanner input = new Scanner (System.in);
        System.out.print("Enter a point with two coordinates: ");
        double x = input.nextDouble();
        double y = input.nextDouble();
        double width, height;
        width = 10.0;
        height = 5.0;
        double x0, y0;
        x0 = Math.abs(x);
        y0 = Math.abs(y);
        if (x0 <= width/2 && y0 <= height/2) {
            System.out.println("Point " + "(" + x + "," + y +")" + "is in the rectangle " );
        }
        else {
            System.out.println("Point " + "(" + x + "," + y +")" + "is not in the rectangle " );
        }

    }

}

(3.27)(幾何:點是否在三角形內?)

package javahomework;

import java.util.Scanner;
public class java0327 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("Enter a point's x- and y-coordinates: ");
        double x = input.nextDouble();
        double y = input.nextDouble();
        if (x > 0 && y > 0 && 0.5*x+y-100 < 0) {
            System.out.println("Point is in the rectangle " );
        }
        else
            System.out.println("Point is not in the rectangle " );
    }

}

(4.6)(圓上的隨機點)

package javahomework;

public class java0406 {
    public static void main(String[] args) {

    double r = 40.0;
    double rs1 = Math.random() * Math.PI * 2;
    double x1 = r * Math.cos(rs1);
    double y1 = r * Math.sin(rs1);


    double rs2 = Math.random() * Math.PI * 2;
    double x2 = r * Math.cos(rs2);
    double y2 = r * Math.sin(rs2);

    double rs3 = Math.random() * Math.PI * 2;
    double x3 = r * Math.cos(rs3);
    double y3 = r * Math.sin(rs3);

    double a = Math.sqrt((x2-x3)*(x2-x3) + (y2-y3)*(y2-y3));
    double b = Math.sqrt((x1-x3)*(x1-x3) + (y1-y3)*(y1-y3));
    double c = Math.sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2));

    double A = Math.toDegrees(Math.acos((a*a - b*b -c*c) / (-2*b*c)));
    double B = Math.toDegrees(Math.acos((b*b - a*a -c*c) / (-2*a*c)));
    double C = Math.toDegrees(Math.acos((c*c - a*a -b*b) / (-2*a*b)));

    System.out.println("The three angles are " + Math.round(A * 100) / 100.0 + " " + Math.round(B * 100) / 100.0 + " " +Math.round(C * 100) / 100.0);

    }
}

(4.15)(電話鍵盤)

package javahomework;

import java.util.Scanner;
public class java0415 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("Enter a letter: ");
        String num = input.nextLine();

        if( num.equalsIgnoreCase("a") || num.equalsIgnoreCase("b") || num.equalsIgnoreCase("c")) {
            System.out.println("The corresponding number is 2 ");
        }
        else if(num.equalsIgnoreCase("d") || num.equalsIgnoreCase("e") || num.equalsIgnoreCase("f")) {
            System.out.println("The corresponding number is 3 ");
        }
        else if(num.equalsIgnoreCase("g") || num.equalsIgnoreCase("h") || num.equalsIgnoreCase("i")) {
            System.out.println("The corresponding number is 4 ");
        }
        else if(num.equalsIgnoreCase("j") || num.equalsIgnoreCase("k") || num.equalsIgnoreCase("l")) {
            System.out.println("The corresponding number is 5 ");
        }
        else if(num.equalsIgnoreCase("m") || num.equalsIgnoreCase("n") || num.equalsIgnoreCase("o")) {
            System.out.println("The corresponding number is 6 ");
        }
        else if(num.equalsIgnoreCase("p") || num.equalsIgnoreCase("q") || num.equalsIgnoreCase("r") || num.equalsIgnoreCase("s")) {
            System.out.println("The corresponding number is 7 ");
        }
        else if(num.equalsIgnoreCase("t") || num.equalsIgnoreCase("u") || num.equalsIgnoreCase("v")) {
            System.out.println("The corresponding number is 8 ");
        }
        else if(num.equalsIgnoreCase("w") || num.equalsIgnoreCase("x") || num.equalsIgnoreCase("y") || num.equalsIgnoreCase("z")) { 
            System.out.println("The corresponding number is 9 ");
        }
        else
            System.out.println(num + " is an invalid input ");  
        }
    }

(4.25)(生成車牌號碼)

package javahomework;

public class java0425 {
    public static void main(String[] args) {

        String word1_str = "";
        String num1_str = "";
        for(int i = 0; i < 3; i++) {
            int word = (int)('A' + (int)(Math.random()*26));
            char word1 = (char) word;
            word1_str = word1_str + String.valueOf(word1).toString();
        }
        for(int i = 0; i < 4;i++) {
            int number = (int)(Math.random()*10);
             num1_str = num1_str + String.valueOf(number).toString();
        }
        System.out.println("The car's number is " + word1_str + num1_str);
    }

}

(4.26)(財務應用:貨幣單位)

package javahomework;
import java.util.Scanner;
public class java0426 {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.print("Enter an amount(for example:11.56): ");
        String str=input.nextLine();
        if(str.indexOf('.')==-1){
            if(str.equals("0")) {
                System.out.println("no dollar no cent");
            }
            else if(str.equals("1") ) {
                System.out.println(str +" dollar"+" no cent");
            }
            else
                System.out.println(str +" dollars"+" no cent");
        }
         else if(str.indexOf('.')!=-1){
            String dollar=str.substring(0,str.indexOf('.'));
            String cent=str.substring(str.indexOf('.')+1);
            if (dollar.equals("0")) {
                if (cent.equals("0")) {
                    System.out.println("no dollar no cent");
                }
                else if(cent.equals("1")) {
                     System.out.println("no dollar "+cent+" cent");
                }
                else 
                    System.out.println("no dollar "+cent+" cents");
            }
            else if (dollar.equals("1")) {
                if (cent.equals("0")) {
                    System.out.println(dollar +" dollar no cent");
                }
                else if(cent.equals("1")) {
                     System.out.println(dollar +" dollar "+cent+" cent");
                }
                else 
                    System.out.println(dollar +" dollar "+cent+" cents");
            }
            else {
                if (cent.equals("0")) {
                    System.out.println(dollar +" dollars no cent");
                }
                else if(cent.equals("1")) {
                     System.out.println(dollar +" dollars "+cent+" cent");
                }
                else 
                    System.out.println(dollar +" dollars "+cent+" cents");
            }

        }
    }
}

相關文章