Java语言程序设计基础篇原书第十版第六章编程练习题答案

Java核心编程
最近大家都在催我更新,最近状态有点不好,做事情注意力不集中,所以调整了一小段时间,我给大家推荐一个方法,就是总有想学又不想看书的时候,整个人都不好了,这个时候就得去玩,放开了玩,玩到不想玩,玩恶心了就可以专心的学习了。真的!我是这么做的,只要心里还是有学习,就可行的,心里没有学习那也不说了。学无止境共勉之。
注意:本章联系中常犯的错误是,没有实现符合需求的方法,尽管主程序的输出是正确的。

6.1数学:五角数
这道题我另外使用了个printNumber(int n,int count)方法,相信大家也很容易懂,因为做提前我还是方法抽象了一下。

package nameyu;

import java.util.Scanner;

public class Test {
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
    	Scanner input=new Scanner(System.in);
    	System.out.print("Enter a number to display Pentagonal:");
    	int n=input.nextInt();
    	int count=0;
    	getPentagonalNumber(n, count);
    	
    }
    public static int getPentagonalNumber(int n,int count){
		int pentagonalNumbers = 0;
    	for(int i=1;i<=n;i++){
			pentagonalNumbers=i*(3*i-1)/2;
			count++;
		    printNumber(pentagonalNumbers,count);
    	}
    	return pentagonalNumbers;
    }
    public static void printNumber(int n,int count){
    	if(count%10==0){
    		System.out.println(n);
    	}else
    		System.out.print(n+"\t");
    }
}

6.2求一个整数各位数字之和

package nameyu;

import java.util.Scanner;

public class Test {
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
    	Scanner input=new Scanner(System.in);
    	System.out.print("Enter a number :");
    	long n=input.nextLong();
    	System.out.println(sumDigits(n));
    }
    public static int sumDigits(long n){
    	long x;
    	long sum=0;
    	while(n!=0){
    		 x=n%10;
    		 sum+=x;
    		 n=n/10;
    	}
    	return (int) sum;
    }
}

6.3回文整数

package nameyu;

import java.util.Scanner;

public class Test {
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
    	Scanner input=new Scanner(System.in);
    	System.out.print("Enter a number :");
    	int number=input.nextInt();
    	if(isPalindrome(number))
    		System.out.println(number+" is  a palindrome number");
    	else
    		System.out.println(number+" is not a palindrome number");
    	
    }
   public static int reverse(int number){
	   int x;
	   int sum=0; 
	   while(number!=0){
		   x=number%10;
		   sum=(sum*10)+x;
		   number=number/10;
	   }
	   return sum;
   }
   public static boolean isPalindrome(int number){
	   return (number==reverse(number));
	
   }
}
    

6.4反向显示一个整数
这道题是上面那道题的一部分。

package nameyu;

import java.util.Scanner;

public class Test {
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
    	Scanner input=new Scanner(System.in);
    	System.out.print("Enter a number :");
    	int number=input.nextInt();
    	System.out.println(reverse(number));
    	
    }
   public static int reverse(int number){
	   int x;
	   int sum=0; 
	   while(number!=0){
		   x=number%10;
		   sum=(sum*10)+x;
		   number=number/10;
	   }
	   return sum;
   }

}     

6.5对三个数排序

package nameyu;

import java.util.Scanner;

public class Test {
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
    	Scanner input=new Scanner(System.in);
    	System.out.print("Enter first number :");
    	double num1=input.nextDouble();
    	System.out.print("Enter second number :");
    	double num2=input.nextDouble();
    	System.out.print("Enter third number :");
    	double num3=input.nextDouble();
    	dispalySortedNumbers(num1, num2, num3);
    }
    public static void dispalySortedNumbers(double num1,double num2,double num3){
    	 if(num1>num2&&num1>num3){
             if(num2>num3){
                 System.out.println(num3+" "+num2+" "+num1);
             }
             else
                 System.out.println(num2+" "+num3+" "+num1);
         }
         else if(num2>num1&&num2>num3){
             if(num1>num3){
                 System.out.println(num3+" "+num1+" "+num2);
             }
             else
                 System.out.println(num1+" "+num3+" "+num2);
         }
         else if(num3>num1&&num3>num2){
             if(num1>num2){
                 System.out.println(num2+" "+num1+" "+num3);
             }
             else
                 System.out.println(num1+" "+num2+" "+num3);
         }
    }
 
}

6.6显示图案

package nameyu;

import java.util.Scanner;

public class Test {
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
    	Scanner input=new Scanner(System.in);
    	 System.out.print("Enter the number of line :");
    	int n=input.nextInt();
    	displayPattern(n);
    }
    public static void displayPattern(int n){
    	  for(int i=1; i<=n; i++) {
              for(int j=(n-i)*3-1; j>=0; j--) {
                  System.out.print(" ");
              }
              for(int j=i; j>=1; j--) {
                  if(j<10)
                      System.out.print("  ");
                  else 
                      System.out.print(" ");
                  System.out.print(j);
              }
               System.out.println("");
           }
    }
 
}

或者将代码改成这样,可能更加简洁,更容易懂。

package nameyu;

import java.util.Scanner;

public class Test {
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
    	Scanner input=new Scanner(System.in);
    	 System.out.print("Enter the number of line :");
    	int n=input.nextInt();
    	displayPattern(n);
    }
    public static void displayPattern(int n){
    	for(int i=1;i<=n;i++){
			for(int j=(n-i);j>0;j--){
				System.out.print("\t");
			}
			for(int j=i;j>=1;j--)
				System.out.print(j+"\t");
			
		System.out.println();
		}
    }
 
}

兄弟们私信让我先给第六章的前面的代码给你们,我先发出来这些,过几天补全后面的。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Thomas & Friends

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

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

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

打赏作者

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

抵扣说明:

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

余额充值