Java语言程序设计与数据结构(基础篇)课后练习题 第三章(二)

3.20

import java.util.Scanner;
public class disanzhang {

public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        System.out.print("Enter the temperature: ");
        double t = input.nextDouble();
        System.out.print("Enter the velocity: ");
        double v = input.nextDouble();
        double twc = 35.74+0.6215*t-35.75*Math.pow(v,0.16)+0.4275*t*Math.pow(v,0.16);
        if(t>=-58&&t<=41&v>=2)
            System.out.println("The twc is "+twc);
        else
            System.out.println("Invalid input.");
}

}

3.21

import java.util.Scanner;
public class disanzhang {

public static void main(String[] args){
        int[] mdays = {31,28,31,30,31,30,31,31,30,31,30,31};
        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();
        if((year%4==0&&year%100!=0)||(year%400==0))
            mdays[1]=29;
        System.out.print("Enter the day of the month: 1-"+mdays[month-1]+": ");
        int q = input.nextInt();
        if(month==1||month==2){
            month+=12;
            year--;
        }
        int h=(q+26*(month+1)/10+year%100+year%100/4+year/100/4+5*(year/100))%7;
        String[] days = {"Sat","Sun","Mon","Tue","Wed","Thu","Fri"};
        System.out.println("Day of the week is "+days[h]);
}

}

3.22

import java.util.Scanner;
public class disanzhang {

public static void main(String[] args){
        System.out.print("Enter a point with two coordinates: ");
        Scanner input = new Scanner(System.in);
        double x = input.nextDouble();
        double y = input.nextDouble();
        if(x*x+y*y>100)
            System.out.println("Point ("+x+", "+y+") is not in the circle");
        else
            System.out.println("Point ("+x+", "+y+") is in the circle");
}

}

3.23

import java.util.Scanner;
public class disanzhang {

public static void main(String[] args){
        System.out.print("Enter a point with two coordinates: ");
        Scanner input = new Scanner(System.in);
        double x = input.nextDouble();
        double y = input.nextDouble();
        if(x<=10/2&&x>=-10/2&&y<=5.0/2&&y>=-5.0/2)
            System.out.println("Point ("+x+", "+y+") is in the rectangle");
        else
            System.out.println("Point ("+x+", "+y+") is not in the rectangle");
}

}

3.24

public class disanzhang {

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 disanzhang {

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 disanzhang {

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.37

import java.util.Scanner;
public class disanzhang {

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 disanzhang {

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 disanzhang {

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 disanzhang {

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 disanzhang {

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 disanzhang {

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 disanzhang {

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 disanzhang {

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

}

第三章习题 完

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xupengboo

你的鼓励将是我创作最大的动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值