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

5.21

package demo;

import java.util.Scanner;

public class diwuzhang {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	System.out.print("Loan Amount: ");
	Scanner input = new Scanner(System.in);
	double amount = input.nextDouble();
	System.out.print("Number of Years: ");
	double years = input.nextDouble();
	System.out.println("Interest Rate    Monthly Payment    Total Payment");
	for(int i=0;i<25;i++){
		double rate = (0.125*i+5)/1200;
		double monthMoney = amount*rate/(1-1/Math.pow(1+rate, years*12));
		System.out.printf("%-4.3f%%             %-5.2f               %-7.2f\n",0.125*i+5,monthMoney,monthMoney*12*years);
	}
}

}

5.22

package demo;

import java.util.Scanner;

public class diwuzhang {

public static void main(String[] args) {
	// TODO Auto-generated method stub
    Scanner input = new Scanner(System.in);
    System.out.print("Loan Amount: ");
    double amount = input.nextDouble();
    System.out.print("Number of Years: ");
    int years = input.nextInt();
    System.out.print("Annual Interest Rate: ");
    double annualRate = input.nextDouble();
    double monthRate = annualRate/1200;
    double monthPay = amount*monthRate/(1-1/(Math.pow(1+monthRate,12*years)));
    double total = monthPay*years*12;
    System.out.printf("Monthly Payment: %.2f\n",monthPay);
    System.out.printf("Total Payment: %.2f\n",total);
    System.out.println("Payment# Interest   Principle   Balance");
    double balance = amount;
    for(int i=1;i<=years*12;i++)
    {
        double interest = monthRate*balance;
        double principle = monthPay-interest;
        balance = balance-principle;
        System.out.printf("%d\t\t %.2f\t\t%.2f\t\t%.2f\n",i,interest,principle,balance);
    }
}

}

5.23

package demo;

import java.util.Scanner;

public class diwuzhang {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	double leftToright =0;
	double rightToleft =0;
	double b1 = 1.0;
	double b2 =50000.0;
	for(int i=1;i<=50000;i++){
		leftToright += 1/b1;
		b1 += 1;
	}
	for(int i=1;i<=50000;i++){
		rightToleft += 1/b2;
		b2 -= 1;
	}
	
	System.out.println("left to right: "+leftToright);
	System.out.println("right to left: "+rightToleft);
}

}

5.24

package demo;

import java.util.Scanner;

public class diwuzhang {

public static void main(String[] args) {
	// TODO Auto-generated method stub
    double sum = 0;
    for(int i =1;i<=97;i+=2)
    {
        sum+=1.0*i/(i+2);
    }
    System.out.println("The answer is "+sum);
}

}

5.25

package demo;

import java.util.Scanner;

public class diwuzhang {

public static void main(String[] args) {
	// TODO Auto-generated method stub
    double sum = 0.0;
    for(int i=10000;i<=100000;i+=10000)
    {
    	double item = 1.0;
        sum = 0.0;
        for(int j=1;j<=i;j++)
        {
            sum+=1.0*item/(2*j-1);
            item*=(-1);
        }
        System.out.printf("i=%d, pi=%f\n",i,sum*4);
    }
}

}

5.26

package demo;

import java.util.Scanner;

public class diwuzhang {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	double e=1.0;
	for(int i=10000;i<=100000;i+=10000){
		double zimu = 1.0;
		for(int j =1; j<=i ;j++){
			zimu /= j;
			e += zimu;
		}
		System.out.printf("i= %d , e=%f\n", i,e);
	}
}

}

5.27

package demo;

import java.util.Scanner;

public class diwuzhang {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	int count=0;
	for(int i =101;i<=2100;i++){
		if(i%400==0||(i%4==0&&i%100!=0)){
			System.out.print(i+" ");
			count++;
			if(count%10==0){
				System.out.println();
			}
		}
	}
	System.out.println("\nThe total number is "+count);
}

}

5.28

package demo;

import java.util.Scanner;

public class diwuzhang {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner input = new Scanner(System.in);
	String[] months = {"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
	System.out.print("Enter the year: ");
	int year=input.nextInt();
	String[] week={"Mon","Tue","Wed","Thu","Fri","Sat","Sun"};
	int[] Days={31,28,31,30,31,30,31,31,30,31,30,31};
	if((year%400==0)||(year%4==0&&year%100!=0)){
		Days[1]=29;
	}
	System.out.print("Enter the day: ");
	int day = input.nextInt();
	for(int i=1;i<=12;i++){
		System.out.printf("%s 1, %d is %s\n", months[i-1],year,week[day-1]);
		
		day=(day+Days[i-1])%7;
		if(day==0)
			day=7;
	}
}

}

5.29

package demo;

import java.util.Scanner;

public class diwuzhang {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner input = new Scanner(System.in);
	String[] months = {"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
	System.out.print("Enter the year: ");
	int year=input.nextInt();
	String[] week={"Mon","Tue","Wed","Thu","Fri","Sat","Sun"};
	int[] Days={31,28,31,30,31,30,31,31,30,31,30,31};
	if((year%400==0)||(year%4==0&&year%100!=0)){
		Days[1]=29;
	}
	System.out.print("Enter the day: ");
	int day = input.nextInt();
	for(int i=1;i<=12;i++){
		System.out.println("       "+months[i-1]+"  "+year+"       ");
		System.out.println("---------------------------------------");
		System.out.print("Sun   Mon   Tue   Wed   Thu   Fri   Sat");
		System.out.println();
		int count=0;
		int base = 0;
		for(int j=0;j<day;j++){
			System.out.print("      ");
			count++;
		}
		for(int j=1;j<=Days[i-1];j++){
			System.out.printf("%3d   ", j);
			count++;
			if(count%7==0&&count!=base)
			{
				System.out.println();
			}
			}
		
		System.out.println();
		System.out.println();
		day=(day+Days[i-1])%7;
	}

}

}

5.30

package demo;

import java.util.Scanner;

public class diwuzhang {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner input = new Scanner(System.in);
	System.out.print("Enter the money: ");
	double money = input.nextDouble();
	double plus =money;
	System.out.print("Enter year rate: ");
	double yearRate = input.nextDouble();
	System.out.print("Enter the months: ");
	int months = input.nextInt();
	for(int i=1;i<months;i++)
		money = (money+plus)*(1+yearRate/1200);
	System.out.printf("The result money is %.3f\n", money);
	
}

}

5.31

package demo;

import java.util.Scanner;

public class diwuzhang {

public static void main(String[] args) {
	// TODO Auto-generated method stub
       Scanner input = new Scanner(System.in);
        System.out.print("Enter the initial deposit amount: ");
        double money = input.nextDouble();
        System.out.print("Enter annual percentage yield: ");
        double rate = input.nextDouble();
        System.out.print("Enter maturity period (number of month): ");
        int month = input.nextInt();
        System.out.println("Month    CD Value");
        for(int i=1;i<=month;i++)
        {
            money*=(1+rate/1200);
            System.out.printf("%2d      %.2f\n", i,money);
        }
}

}

5.32

package demo;

import java.util.Scanner;

public class diwuzhang {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	int num1 = (int)(Math.random()*10);
    int num2 = (int)(Math.random()*10);
    while(num2==num1)
        num2 = (int)(Math.random()*10);
    System.out.println("The lottery number is "+num1+","+num2);
}

}

5.33

package demo;

import java.util.Scanner;

public class diwuzhang {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	
	for(int i=1;i<10000;i++){
		int sum = 0;
		for(int j=1;j<i;j++){
			if(i%j==0)
				sum+=j;
		}
		if(sum==i)
			System.out.println(i);
		
	}
}

}

5.34

package demo;

import java.util.Scanner;

public class diwuzhang {

public static void main(String[] args) {
	// TODO Auto-generated method stub
      Scanner input = new Scanner(System.in);
        int comWin = 0;
        int manWin = 0;
        String[] a = {"stone","scissors","paper"};
        while(comWin<=2&&manWin<=2)
        {
            System.out.print("Enter 0 for stone, 1 for scissors, 2 for paper:");
            int hum = input.nextInt();
            int com = (int)(Math.random()*3);
            if(com-hum==-1||com-hum==2)
            {
                System.out.println("Computer is "+a[com]+", you are "+a[hum]+". You lose!");
                comWin++;
            }
            else if(hum-com==-1||hum-com==2)
            {
                System.out.println("Computer is "+a[com]+", you are "+a[hum]+". You win!");
                manWin++;
            }
            else
                System.out.println("Computer is "+a[com]+", you are "+a[hum]+". It is a draw.");
        }
}

}

5.35

package demo;

import java.util.Scanner;

public class diwuzhang {

public static void main(String[] args) {
	// TODO Auto-generated method stub
    double sum=0;
    for(int i=625;i>=2;i--)
        sum+=1.0/(Math.sqrt(i-1)+Math.sqrt(i));
    System.out.println("The result is "+sum);
}

}

5.36

package demo;

import java.util.Scanner;

public class diwuzhang {

public static void main(String[] args) {
	// TODO Auto-generated method stub
       int sum = 0;
        Scanner input = new Scanner(System.in);
        System.out.print("Enter the first 9 digits of an ISBN as integer: ");
        int isbnNum = input.nextInt();
        int old = isbnNum;
        for(int i=9;i>=1;i--)
        {
            sum+=isbnNum%10*i;
            isbnNum/=10;
        }
        int tail = sum%11;
        System.out.printf("The ISBN-10 number is %09d",old);
        if(tail<10)
            System.out.println(tail);
        else
            System.out.println("X");
}

}

5.37

package demo;

import java.util.Scanner;

public class diwuzhang {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner input=new Scanner(System.in);
	System.out.print("Enter a number: ");
	int a = input.nextInt();
	int mi =1;
	while(Math.pow(2, mi)<=a){
		mi++;
	}
	mi--;
	for(int i=mi;i>=0;i--){
		if(a>=Math.pow(2, i)){
			System.out.print(1);
			a -= Math.pow(2, i);
		}else{
			System.out.print(0);
		}
	}
}

}

5.38

package demo;

import java.util.Scanner;

public class diwuzhang {

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Scanner input=new Scanner(System.in);
	System.out.print("Enter a number: ");
	int a = input.nextInt();
	int mi =1;
	while(Math.pow(8, mi)<=a){
		mi++;
	}
	mi--;
	for(int i=mi;i>=0;i--){
		System.out.print((int)(a/Math.pow(8, i)));
		a %= (int)(Math.pow(8, i));
	}
}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

xupengboo

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

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

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

打赏作者

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

抵扣说明:

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

余额充值