《Java语言程序设计与数据结构》编程练习答案(第五章)(三)
英文名:Introduction to Java Programming and Data Structure, Comprehensive Version, 11th Edition
5.27
public class book {
public static void main(String[] args)
{
int count = 0;
int base = 0;
for(int i=101;i<=2100;i++)
{
boolean isLeap = (i%4==0&&i%100!=0)||(i%400==0);
if(isLeap)
{
System.out.print(i+" ");
count++;
if(count%10==0&&count!=base)
{
System.out.print("\n");
base+=10;
}
}
}
System.out.print('\n');
System.out.println("The total number is "+count);
}
}
5.28
import java.util.Scanner;
public class book {
public static void main(String[] args)
{
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[] days={"Mon","Tue","Wed","Thu","Fri","Sat","Sun"};
int[] numDays = {31,28,31,30,31,30,31,31,30,31,30,31};
if((year%4==0&&year%100!=0)||(year%400==0))
numDays[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, days[day-1]);
day=(day+numDays[i-1])%7;
if(day==0)
day=7;
}
}
}
5.29
import java.util.Scanner;
public class book {
public static void main(String[] args)
{
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[] days={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
int[] numDays = {31,28,31,30,31,30,31,31,30,31,30,31};
if((year%4==0&&year%100!=0)||(year%400==0))
numDays[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.println("Sun Mon Tue Wed Thu Fri Sat");
int count = 0;
int base = 0;
for(int j=0;j<day;j++)
{
System.out.print(" ");
count++;
}
for(int j=1;j<=numDays[i-1];j++)
{
System.out.printf("%2d ",j);
count++;
if(count%7==0&&count!=base)
{
System.out.print('\n');
base+=7;
}
}
System.out.print('\n');
System.out.print('\n');
day=(day+numDays[i-1])%7;
}
}
}
5.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 money: ");
double money = input.nextDouble();
double plus = money;
System.out.print("Enter year rate: ");
double rate = input.nextDouble();
System.out.print("Enter the months: ");
int months = input.nextInt();
for(int i=1;i<months;i++)
money=(money+plus)*(1+rate/1200);
System.out.printf("The result money is %.3f\n",money);
}
}
5.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 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
public class book {
public static void main(String[] args)
{
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
public class book {
public static void main(String[] args)
{
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
import java.util.Scanner;
public class book {
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int comWin = 0;
int manWin = 0;
String[] ass = {"stone","scissors","paper"};
while(comWin<=2&&manWin<=2)
{
System.out.print("Enter 0 for stone, 1 for scissors, 2 for paper:");
int ren = input.nextInt();
int jizi = (int)(Math.random()*3);
if(jizi-ren==-1||jizi-ren==2)
{
System.out.println("Computer is "+ass[jizi]+", you are "+ass[ren]+". You lose!");
comWin++;
}
else if(ren-jizi==-1||ren-jizi==2)
{
System.out.println("Computer is "+ass[jizi]+", you are "+ass[ren]+". You win!");
manWin++;
}
else
System.out.println("Computer is "+ass[jizi]+", you are "+ass[ren]+". It is a draw.");
}
}
}
5.35
public class book {
public static void main(String[] args)
{
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
见答案3.9
👨🐰🌶
5.37
import java.util.Scanner;
public class book {
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.print("Enter a number: ");
int ass = input.nextInt();
int mi = 1;
while(Math.pow(2,mi)<=ass)
mi++;
mi--;
for(int i=mi;i>=0;i--)
{
if(ass>=Math.pow(2,i))
{
System.out.print(1);
ass-=Math.pow(2,i);
}
else
System.out.print(0);
}
}
}
5.38
import java.util.Scanner;
public class book {
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.print("Enter a number: ");
int ass = input.nextInt();
int mi = 1;
while(Math.pow(8,mi)<=ass)
mi++;
mi--;
for(int i=mi;i>=0;i--)
{
System.out.print((int)(ass/Math.pow(8,i)));
ass%=(int)(Math.pow(8,i));
}
}
}
5.39
public class book {
public static void main(String[] args)
{
double sell = 0.0;
double earn = 5000;
while(earn<30000)
{
sell++;
if(sell<=5000)
earn+=0.08;
else if(sell<=10000)
earn+=0.10;
else
earn+=0.12;
}
System.out.println("You must sell $"+sell+" at least.");
}
}