JAVA初级试题16道,附赠答案!

注:答案在最下面!

1.编写一段代码,使控制台输出以下图形





2.有数列为:9,99,999,...,9999999999.要求使用程序计算此数列的和,并在控制台输出结果。交互效果如图所示:






3.另有数列:1+1/2+1/3...+1/n(n>=2),要求使用交互的方式计算此数列的和:用户在控制台录入需要计算的整数n的值,程序计算此数列的和,并在控制台输出结果。程序的交互过程如图:







4.打印出100-999之间所有的“水仙花数”,所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。

例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

5.编写三个数值的排序程序

使用程序为用户录入的3个数值进行升序排列,并将排序后的结果输出到控制台。程序交互过程如图








6.编写程序判断某一个年份是否为闰年(使用if-else)

需要使用交互的方式判断某年是否为闰年:用户从控制台输入需要判断的年份值,由程序使用if-else判断该年是否为闰年,并将判断 结果输出到控制台。程序交互过程如图:








7.编写个人所得税计算程序

个人所得税是国家对本国公民,居住在本国境内的个人的所得和境外个人来源于本国的所得征收的一种所得税。目前,北京地区的个人所得税的计算公式为:应纳税额=(工资薪金所得-扣除数)×适用税率-速算扣除数。其中,扣除数为3500元,适用税率以及速算扣除数如图:







上表中的全月应纳税所得额=工资薪金所得-扣除数。

本案例要求计算个人所得税的缴纳额度:用户从控制台输入税前工资的金额,程序计算所需要交纳的个人所得税的金额,并将计算结果输出到控制台

程序交互过程如图:









8.输入年份和月份,输出该月的天数(使用switch-case)

一年有12个月,而每个月的天数是不一样的。其中,有7个月为31天,称为大月,分别为1.3.5.7.8.10.12月;有4个月为30天,称为小月,分别为4.6.9.11月;还有二月比较特殊,平年的二月只有28天,而闰年的二月有29天。

本案例需要使用交互的方式计算某年某月的天数:由用户在控制台输入年份和月份值,程序计算该年该月的天数,并将结果输出在控制台。程序交互情况如图:








9.编写程序,从键盘输入一个0~99999之间的任意数,判断输入的数是几位数?

10.输入3个正数,判断能否构成一个三角形。

11.编写程序,对输入的一个整数,按相反顺序输出该数。

12.验证“鬼谷猜想”:对任意自然数,若是奇数,就对它乘以3再加1,若是偶数,就对它除以2,这样得到一个新数,再按照上述计算规则进行计算,一直进行下去,最终必然得到1.

13.一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。

14.输入两个正整数m和n,求其最大公约数和最小公倍数。

15.有1.2.3.4个数字,能组成多少个互相不相同且无重复数字的三位数?都是多少?

16.有一对兔子,从出生后第三个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?



第一题答案:

package kaoshi;

public class ShiTi01 {

	public static void main(String[] args) {
		for(int i=0;i<10;i=i+2){
			for(int k=10-i;k>1;k=k-2){
				System.out.print(" ");
			}
			for(int j=0;j<=i;j++){
				System.out.print("*");
			}
			System.out.println();
		}

	}

}
第二题答案:

package kaoshi;

public class ShiTi02 {

	
	public static void main(String[] args) {
		long i=0;
		long sum=0;//用long不能用int
		for(int j=0;j<10;j++){
			i=i*10+9;
			if(i==9){
				System.out.print(i);
			}else{
				System.out.print("+"+i);
				}sum=sum+i;

		}
		System.out.print("="+sum);


	}

第三题答案:

package kaoshi;

import java.util.Scanner;

public class ShiTi03 {


	public static void main(String[] args) {
		Scanner sc= new Scanner(System.in);
		System.out.println("请输入整数(例如10)");
		int n=sc.nextInt();

		double sum=0;
		for(double i=1;i<=n;i++){
			if(i==1){
				System.out.print((int)i);
			}else{
			System.out.print("+1/"+(int)i);
			}
			sum=sum+(1/i);
			
		}
		System.out.print("="+sum);
		


	}
第四题答案:

package kaoshi;

public class ShiTi04 {
	public static void main(String[] args) 
	 {
	  for(int i=100;i<=999;i++)
	  {
	   int geWei,shiWei,baiWei;
	   baiWei=i/100;
	   shiWei=(i-baiWei*100)/10;
	   geWei=i-baiWei*100-shiWei*10;
	   if(i==geWei*geWei*geWei+shiWei*shiWei*shiWei+baiWei*baiWei*baiWei)
	   {
	    System.out.println(i);
	   }
	  }

	 }
}
第五题答案:

package kaoshi;

import java.util.Scanner;

public class ShiTi05 {


	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请依次输入三个整数:a,b,c(以空格隔开)");
		int a1=sc.nextInt();
		int b1=sc.nextInt();
		int c1=sc.nextInt();
		System.out.println("您输入的是:");
		System.out.print("a="+a1);
		System.out.print(",b="+b1);
		System.out.println(",c="+c1);
		int x=0;
		int y=0;
		int z=0;
		if(a1>b1&&b1>c1&&a1>c1){
			 x=a1; y=b1; z=c1;
			 System.out.println("升序排列后,结果为:");
				System.out.print("a="+z);
				System.out.print(",b="+y);
				System.out.print(",c="+x);
		}else if(a1>b1&&b1<c1&&c1<a1){
			 x=a1; y=c1; z=b1;
			 System.out.println("升序排列后,结果为:");
				System.out.print("a="+z);
				System.out.print(",b="+y);
				System.out.print(",c="+x);
		}else if(a1<b1&&a1>c1&&b1>c1){
			 x=b1; y=a1; z=c1;
			 System.out.println("升序排列后,结果为:");
				System.out.print("a="+z);
				System.out.print(",b="+y);
				System.out.print(",c="+x);
		}else if(b1>a1&&a1<c1&&b1>c1){
			 x=b1; y=c1; z=a1;
			 System.out.println("升序排列后,结果为:");
				System.out.print("a="+z);
				System.out.print(",b="+y);
				System.out.print(",c="+x);
		}else if(c1>a1&&a1>b1&&c1>b1){
			 x=c1; y=a1; z=b1;
			 System.out.println("升序排列后,结果为:");
				System.out.print("a="+z);
				System.out.print(",b="+y);
				System.out.print(",c="+x);
		}else if(c1>b1&&b1>a1&&c1>a1){
			 x=c1; y=b1; z=a1;
			System.out.println("升序排列后,结果为:");
			System.out.print("a="+z);
			System.out.print(",b="+y);
			System.out.print(",c="+x);
		
		}
		

	}

}
第六题答案:

package kaoshi;

import java.util.Scanner;

public class ShiTi06 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入您要查询的年份(例如2012)");
		int n =sc.nextInt();
		if(n%4==0&&n%100!=0){
			System.out.println("这是闰年");
		}else{
			System.out.println("这不是闰年");
		}

	}

}
第七题答案:

package kaoshi;

import java.util.Scanner;

public class ShiTi07 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入你的工资的税前金额(¥)");
		int jr = sc.nextInt();
		int jr1 = jr-3500;
		double s =0;
		if(jr1>=80000){
			s=(jr-3500)*(0.45)-13505;
		}else if(jr1>=55000){
			s=(jr-3500)*(0.35)-5505;
		}else if(jr1>=35000){
			s=(jr-3500)*(0.3)-2755;
		}else if(jr1>=9000){
			s=(jr-3500)*(0.25)-1005;
		}else if(jr1>=4500){
			s=(jr-3500)*(0.2)-555;
		}else if(jr1>=1500){
			s=(jr-3500)*(0.1)-105;
		}else if(jr1<=1500){
			s=jr*(10.03);
		}
		System.out.print("你应该缴纳的个人所得税是:¥"+s);
	
	}

}
第八题答案:

package kaoshi;

import java.util.Scanner;

public class ShiTi08 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入年份(例如2012)");
		int a = sc.nextInt();
		System.out.println("请输入月份(如1)");
		int b = sc.nextInt();
		if(a%4==0&&a%100!=0){
			if(b==2){
				System.out.println(a+"年2月有29天");
			}else if(b==1||b==3||b==5||b==7||b==8||b==10||b==12){
				System.out.println(a+"年"+b+"月有31天");
			}else if(b==4||b==6||b==9||b==11){
				System.out.println(a+"年"+b+"月有30天");
			}
		}else{
			if(b==2){
				System.out.println(a+"年2月有28天");
			}else if(b==1||b==3||b==5||b==7||b==8||b==10||b==12){
				System.out.println(a+"年"+b+"月有31天");
			}else if(b==4||b==6||b==9||b==11){
				System.out.println(a+"年"+b+"月有30天");
			}
		}
	}

}
第九题答案:

package kaoshi;

import java.util.Scanner;

public class ShiTi09 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个0~99999之间的任意一个数字");
		int sz = sc.nextInt();
		if(sz-100000>0){
			System.out.print("这个数字不在输入范围之内,请重新输入");
		}else if(sz-10000>0){
			System.out.print("这是一个五位数");
		}else if(sz-1000>0){
			System.out.print("这是一个四位数");
		}else if(sz-100>0){
			System.out.print("这是一个三位数");
		}else if(sz-10>0){
			System.out.print("这是一个两位数");
		}else if(sz-1>0){
			System.out.print("这是一个一位数");
		}
		

		
	}
第十题答案:

package kaoshi;

import java.util.Scanner;

public class ShiTi10 {


	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入3个整数(以空格隔开)");
		int a =sc.nextInt();
		int b= sc.nextInt();
		int c=sc.nextInt();
		if(a>b&&b>c&&a<b+c){
			System.out.println("这三个数能组成三角形");
		}else if(b>a&&a>c&&c<a+b){
			System.out.println("这三个数能组成三角形");
		}else if(c>b&&b>a&&b<a+c){
			System.out.println("这三个数能组成三角形");
		}else if(a==b&&b==c){
			System.out.println("这三个数能组成三角形");
		}else if(a==b&&a>c){
			System.out.println("这三个数能组成三角形");
		}else if(a==c&&a>b){
			System.out.println("这三个数能组成三角形");
		}else if(c==b&&b>a){
			System.out.println("这三个数能组成三角形");
		}else{
			System.out.println("这三个数不能组成三角形");
		}
		
	}

}
第十一题答案:
package kaoshi;

import java.util.Scanner;

public class ShiTi11 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一个小于1000的整数");
		int a =sc.nextInt();
		if(a<10){
			System.out.println(a);
		}else if(a<100){
			int g =a%10;
			int s=a/10;
			System.out.print(g*10+s);
		}else if(a<1000){
			int g=a%100%10;
			int s=(a/10)%10;
			int b=a/100;
			System.out.print(g*100+s*10+b);
		}
	

	}

}
第十二题答案:

package kaoshi;

import java.util.Scanner;

public class ShiTi12 {

	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入一个自然数(完成鬼谷猜想)");
		
		int a = sc.nextInt();
		int a1=0;
		for(;;){
		if(a%2==0){
			
			a1=a/2;
		}else{
			a1=a*3+1;
			
		}	a=a1;
		System.out.println(a);
		
		if(a==1)break;
		}	

	}

}
第十三题答案

package kaoshi;

public class ShiTi13_01 {
	public static void main(String[] args) {
        int a, b, sum;
        sum = 0;
        for (a = 1; a <= 1000; a++) {
            for (b = 1; b < a; b++) {
                if (a % b == 0) {
                    // 此处用sum去累加了 如  sum =1 ,b =2,   则sum = 1 + 2;
                    sum = sum + b;
                }
            }
            if (sum == a) {
                System.out.println(sum);
            }
            // 如果这里不重置清零,则上方sum = sum + b; 这行语句会将上一次值累加上去,就不是我们想要的值了
            sum = 0;
        }
    }
}
第十四题答案:

package kaoshi;

import java.util.Scanner;

public class ShiTi14_01 {

	public static void main(String[] args) {
		System.out.print("input two integers:");
		try{
			Scanner scanner = new Scanner(System.in);
			int m =scanner.nextInt();
			int n =scanner.nextInt();
			//分别将较大的值赋给m,较小的值赋给n
			if(m<n){
				int tmp=m;
				m=n;
				n=tmp;
			}
			int product = m*n;//两个数的乘积
			while(n!=0){
				int tmp=n;
				n=m&n;
				m=tmp;
			}
			System.out.println("the greatest common divisor id:"+m);
			System.out.println("the least common multiple is:"+product/m);
			
		}catch(Exception e){
			System.out.println("please input integer!");
		}
		System.exit(0);

	}

}
第十五题答案:

package kaoshi;

public class ShiTi15_01 {

	public static void main(String[] args) {
	int i=0;
	int j=0;
	int k=0;
	int t=0;
	for(i=1;i<=4;i++)
		for(j=1;j<=4;j++)
		for(k=1;k<=4;k++)
			if(i!=j&&j!=k&&i!=k){
				t+=1;
				System.out.println(i*100+10*k);
			}
	System.out.println("总共有"+t+"个不同的三位数");

	}

}
第十六题答案:

ackage kaoshi;

import java.util.Scanner;

public class ShiTi16_01 {

	public static void main(String[] args) {
		long s1,s2;//定义这个月和下个月兔子的数量
		s1=1;//第一个月为一对
		s2=1;//第二个月为1对
		int i=1;//定义一个控制变量
		int m;//月份数
		Scanner in = new Scanner(System.in);//从控制台输入想要查看的月份
		System.out.println("请输入你想要查看的月数");//输入提示
		m=in.nextInt();//输入的整数月份赋值给m
		//while循环
		while(true){
			//第一个月和第二个月兔子的数量都为1对
			if(i==1||i==2){
				System.out.println(i+"mouth:"+s1);
				i++;//控制变量i加1
			}
			//i大于3并且小于我们需要查看的月份
			else if(i<m){
				s1=s1+s2;
				s2=s1+s2;
				System.out.println(i+"mouth:"+s1);
				i++;//月份加1
				System.out.println(i+"mouth:"+s2);
				i++;//朋份加1
			}else{
				break;//不符合条件就退出
			}
		}
		
	

	}

}


方法不唯一,如果有好的方法或建议,希望提出!
















  • 2
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值