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

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

英文名:Introduction to Java Programming and Data Structures, Comprehensive Version, 11th Edition

3.24

public class book {
    public static void main(String[] args)
    {
        int num = (int)(Math.random()*13);
        int dick = (int)(Math.random()*4);
        String[] nums = {"Ace","2","3","4","5","6","7","8","9","10","Jack","Queen","King"};
        String[] dicks = {"Clubs","Diamonds","Hearts","Spades"};
        System.out.println("The card you picked is "+nums[num]+" of "+dicks[dick]);
    }
}

3.25

import java.util.Scanner;
public class book {
    public static void main(String[] args)
    {
        System.out.print("Enter x1, y1, x2, y2, x3, y3, x4, y4: ");
        Scanner input = new Scanner(System.in);
        double x1 = input.nextDouble();
        double y1 = input.nextDouble();
        double x2 = input.nextDouble();
        double y2 = input.nextDouble();
        double x3 = input.nextDouble();
        double y3 = input.nextDouble();
        double x4 = input.nextDouble();
        double y4 = input.nextDouble();
        double a = y1-y2;
        double b = x2-x1;
        double c = y3-y4;
        double d = x4-x3;
        double e = (y1-y2)*x1-(x1-x2)*y1;
        double f = (y3-y4)*x3-(x3-x4)*y3;
        double jb = a*d-b*c;
        if(jb==0)
            System.out.println("The two lines are parallel");
        else
            System.out.println("The intersecting point is at ("+(e*d-b*f)/jb+", "+(a*f-e*c)/jb+")");
    }
}

3.26

import java.util.Scanner;
public class book {
    public static void main(String[] args)
    {
        System.out.print("Enter an integer: ");
        Scanner input = new Scanner(System.in);
        int n = input.nextInt();
        System.out.println("Is "+n+" divisible by 5 and 6? "+(n%5==0&&n%6==0));
        System.out.println("Is "+n+" divisible by 5 or 6? "+(n%5==0||n%6==0));
        System.out.println("Is "+n+" divisible by 5 or 6, but not both? "+(n%5==0^n%6==0));
    }
}

3.27

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

3.28

import java.util.Scanner;
public class book {
    public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);
        System.out.print("Enter r1's center x-, y-coordinates, width, and height: ");
        double x1 = input.nextDouble();
        double y1 = input.nextDouble();
        double w1 = input.nextDouble();
        double h1 = input.nextDouble();
        System.out.print("Enter r2's center x-, y0coordinates, width, and height: ");
        double x2 = input.nextDouble();
        double y2 = input.nextDouble();
        double w2 = input.nextDouble();
        double h2 = input.nextDouble();
        if((x1+w1/2>=x2+w2/2)&&(x1-w1/2<=x2-w2/2)&&(y1+h1/2>=y2+h2/2)&&(y1-h1/2<=y2-h2/2))
            System.out.println("r2 is inside r1");
        else if((x2-w2/2>x1+w1/2)||(x2+w2/2<x1-w1/2)||(y2-h2/2>y1+h1/2)||(y2+h2/2<y1-h1/2))
            System.out.println("r2 does not overlap r1");
        else if((x2+w2/2>=x1+w1/2)&&(x2-w2/2<=x1-w1/2)&&(y2+h2/2>=y1+h1/2)&&(y2-h2/2<=y1-h1/2))
            System.out.println("r1 is inside r2");
        else
            System.out.println("r2 overlaps r1");
    }
}

3.29

import java.util.Scanner;
public class book {
    public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);
        System.out.print("Enter circle's center x-, y-coordinates, and radius: ");
        double x1 = input.nextDouble();
        double y1 = input.nextDouble();
        double r1 = input.nextDouble();
        System.out.print("Enter circle2's center x-, y-coordinates, and radius: ");
        double x2 = input.nextDouble();
        double y2 = input.nextDouble();
        double r2 = input.nextDouble();
        if(Math.pow((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2),0.5)<=Math.abs(r1-r2))
            System.out.println("circle2 is inside circle1");
        else if(Math.pow((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2),0.5)<=r1+r2)
            System.out.println("circle2 overlaps circle1");
        else
            System.out.println("circle2 does not overlap circle1");
    }
}

3.30

import java.util.Scanner;
public class book {
    public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);
        System.out.print("Enter the time zone offset to GMT:");
        long offset = input.nextLong();
        long totalMilliseconds = System.currentTimeMillis();
        totalMilliseconds+=offset*60*60*1000;
        long totalSeconds = totalMilliseconds/1000;
        long currentSecond = totalSeconds%60;
        long totalMinutes = totalSeconds/60;
        long currentMinute = totalMinutes%60;
        long totalHours = totalMinutes/60;
        long currentHour = totalHours%24;
        String tail = "AM";
        if(currentHour>12)
        {
            currentHour-=12;
            tail="PM";
        }
        System.out.println("Current time is "+currentHour+":"+currentMinute+":"+currentSecond+" "+tail);
    }
}

3.31

import java.util.Scanner;
public class book {
    public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);
        System.out.print("Enter the exchange rate from dollar to RMB: ");
        double rate = input.nextDouble();
        System.out.print("Enter 0 to convert dollars to RMB and 1 vice versa: ");
        int sig = input.nextInt();
        double in = 0;
        double out = 0;
        String moneyType = "";
        if(sig==0)
            moneyType="dollar";
        else if(sig==1)
            moneyType="RMB";
        else
            System.out.println("Incorrect input");
        if(sig==0||sig==1)
        {
            System.out.print("Enter the "+moneyType+" amount: ");
            in = input.nextDouble();
            if(sig==0)
            {
                out = in*rate;
                System.out.println("$"+in+" is "+out+" yuan");
            }
            else
            {
                out = in/rate;
                System.out.println(in+" yuan is $"+out);
            }
        }
    }
}

3.32

import java.util.Scanner;
public class book {
    public static void main(String[] args)
    {
        System.out.print("Enter three points for p0, p1, and p2: ");
        Scanner input = new Scanner(System.in);
        double x0 = input.nextDouble();
        double y0 = input.nextDouble();
        double x1 = input.nextDouble();
        double y1 = input.nextDouble();
        double x2 = input.nextDouble();
        double y2 = input.nextDouble();
        double result = (x1-x0)*(y2-y0)-(x2-x0)*(y1-y0);
        if(result>0)
            System.out.println("p2 is on the left side of the line");
        else if(result==0)
            System.out.println("p2 is on the same line");
        else
            System.out.println("p2 is on the right side of the line");
    }
}

3.33

import java.util.Scanner;
public class book {
    public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);
        System.out.print("Enter weight and price for package 1: ");
        double w1 = input.nextDouble();
        double p1 = input.nextDouble();
        System.out.print("Enter weight and price for package 2: ");
        double w2 = input.nextDouble();
        double p2 = input.nextDouble();
        double av1 = p1/w1;
        double av2 = p2/w2;
        if(av1<av2)
            System.out.println("Package 1 has a better price.");
        else if(av1==av2)
            System.out.println("Two packages have the same price.");
        else
            System.out.println("Package 2 has a better price.");
    }
}

3.34

import java.util.Scanner;
public class book {
    public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);
        System.out.print("Enter three points for p0, p1, and p2: ");
        double x0 = input.nextDouble();
        double y0 = input.nextDouble();
        double x1 = input.nextDouble();
        double y1 = input.nextDouble();
        double x2 = input.nextDouble();
        double y2 = input.nextDouble();
        if((x1-x0)*(y2-y0)-(x2-x0)*(y1-y0)==0&&x2>=x0&&x2<=x1)
            System.out.println("("+x2+", "+y2+") is on the line segment from ("+x0+", "+y0+") to ("+x1+", "+y1+")");
        else
            System.out.println("("+x2+", "+y2+") is not on the line segment from ("+x0+", "+y0+") to ("+x1+", "+y1+")");
    }
}

第三章 完

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

猜你喜欢

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