Java12个小练习_打印三角形_素数_利率_水仙花数_回文数

Java基础day6作业


1.一个足球队在寻找年龄在10岁到12岁的小女孩(包括10岁和12岁)加入。编写程序,询问用户的性别(1表示男性,0表示女性)和年龄,然后显示一条消息指出这个人是否可以加入球队,询问10次后,输出满足条件的总人数。

package day5;

import java.util.Scanner;

public class day5_homework1 {

	public static void main(String[] args) {
		// 1.一个足球队在寻找年龄在10岁到12岁的小女孩(包括10岁和12岁)加入。
		//编写程序,询问用户的性别(1表示男性,0表示女性)和年龄,然后显示一条消息
		//指出这个人是否可以加入球队,询问3次后,输出满足条件的总人数。
		Scanner superman = new Scanner(System.in);
		int gender;
		int age;
		int n=0;
		for(int i=0;i<10;i++) {
			System.out.print("请输入性别(1男0女):");
			gender = superman.nextInt();
			if(gender==1) {
				System.out.println("不符合条件,不可以加入球队!\n");
				continue;
			}
			System.out.print("请输入年龄:");
			age = superman.nextInt();
			if(age>=10&&age<=12) {
				System.out.println("可以加入球队!\n");
				n++;
			}else{
				System.out.println("不符合条件,不可以加入球队!\n");
			}
		}
		System.out.println("球队人数为:"+n);
	}
}

2.输入3个数,找到最大值和最小值输出

package day5;

import java.util.Scanner;

public class 求三个数中的最大最小值 {

	public static void main(String[] args) {
		// 求三个数中的最大最小值
		Scanner superman = new Scanner(System.in);
		int a,b,c;
		int max,min;
		System.out.println("请输入三个数");
		System.out.print("请输入第一个数:");
		a = superman.nextInt();
		System.out.print("请输入第二个数:");
		b = superman.nextInt();
		System.out.print("请输入第三个数:");
		c = superman.nextInt();
		max=c>(a>b?a:b)?c:(a>b?a:b);
		min=c<(a<b?a:b)?c:(a<b?a:b);
		System.out.println("最大值:"+max);
		System.out.println("最小值:"+min);

	}

}

3.题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?

package day6;

public class day6_homework3 {

	public static void main(String[] args) {
		int count = 0;
		for(int i=1;i<=4;i++) {
			for(int j=1;j<=4;j++) {
				for(int k=1;k<=4;k++) {
					if(i!=j && i!=k && j!=k) {
						System.out.print(i+""+j+""+k+" ");
						count++;
					}
				}
			}
		}
		System.out.println("\n能组成"+count+"个互不相同且无重复数字的三位数");
	}

}

4.一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。判断更多位数的数字

package day6;

import java.util.Scanner;

public class day6_homework4 {

	public static void main(String[] args) {
		Scanner supreman = new Scanner(System.in);
		int n,t=0,s;
		System.out.print("请输入五位数:");
		n = supreman.nextInt();
		if(n/10000%10==n%10 && n/1000%10==n/10%10){
			System.out.println(n+"是回文数");
		}else {
			System.out.println(n+"不是回文数");
		}
	}
}

5.输出10行内容,每行的内容都不一样,第1行一个星号,第2行2个星号…

package day6;

public class day6_homework5 {

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

	}

}

6.在上面题基础上,打印一个圣诞树(升级:考虑空心问题)、菱形问题

//打印等腰三角形(5行)
package hardCode;

public class 打印星星的各种体位 {

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

}

 

//打印空心等腰三角形(5行)
package hardCode;

public class 打印星星的各种体位 {

	public static void main(String[] args) {
		for (int i=1;i<=5;i++) {
			for(int j=4;j>=i;j--) {
				System.out.print(" ");
			}
			for(int k=1;k<=2*i-1;k++) {	//k<2*i-1 别忘了-1
				if(k==1 || k==2*i-1 || i==5) {
					System.out.print("*");
				}else {
					System.out.print(" ");
				}
			}
			System.out.println();
		}
	}

}
//打印菱形
package hardCode;

public class 打印星星的各种体位 {

	public static void main(String[] args) {
		for(int i=1;i<=5;i++) {
			for(int j=4;j>=i;j--) {
				System.out.print(" ");
			}
			for(int k=1;k<=i*2-1;k++) {	//i*2-1(每行*的个数)  i*2是打印输出两倍的*号,形成一个等腰三角形(第一行为两个*)  -1是为了形成完美的等腰三角形
				System.out.print("*");
			}
			System.out.println();
		}
		for(int i=1;i<=4;i++) {
			for(int j=1;j<=i;j++) {
				System.out.print(" ");
			}
			for(int k=(5*2-1)-2;k>=i*2-1;k--) {	//5*2-1是上面等腰三角形最后一行的星号个数
				System.out.print("*");
			}
			System.out.println();
		}
	}

}
//打印一个空心菱形
package hardCode;

public class 打印星星的各种体位 {

	public static void main(String[] args) {
		for(int i=1;i<=5;i++) {
			for(int j=4;j>=i;j--) {
				System.out.print(" ");
			}
			for(int k=1;k<=i*2-1;k++) {	//i*2-1(每行*的个数)  i*2是打印输出两倍的*号,形成一个等腰三角形(第一行为两个*)  -1是为了形成完美的等腰三角形
				if(k==1 || k==i*2-1) {
					System.out.print("*");
				}else {
					System.out.print(" ");
				}
			}
			System.out.println();
		}
		for(int i=1;i<=4;i++) {
			for(int j=1;j<=i;j++) {
				System.out.print(" ");
			}
			for(int k=(5*2-1)-2;k>=i*2-1;k--) {	//5*2-1是上面等腰三角形最后一行的星号个数
				if(k==(5*2-1)-2 || k==i*2-1) {
					System.out.print("*");
				}else {
					System.out.print(" ");
				}
			}
			System.out.println();
		}
	}

}

 


7.输出所有的水仙花数(三位数,各位数字的立方和等于自身)。

package day6;

public class day6_homework7 {

	public static void main(String[] args) {
		int a,b,c;
		for(int i=100;i<=999;i++) {
			a = i/100%10;
			b = i/10%10;
			c = i/1%10;
			if(Math.pow(a, 3)+Math.pow(b, 3)+Math.pow(c, 3)==i) {
				System.out.println(i);
			}
		}

	}

}

8.输出9 * 9乘法表。(for   while)

package day6;

public class day6_homework8 {

	public static void main(String[] args) {
		for(int i=1;i<=9;i++) {
			for(int j=1;j<=i;j++) {
				System.out.print(i+"*"+j+"="+(i*j)+"\t");
			}
			System.out.println();
		}

	}

}

 

//用while打印乘法表
package day6;

public class day6_homework8 {

	public static void main(String[] args) {
		int i=1,j=1;
		while(i<10) {
			while(j<10) {
				System.out.print(i+"*"+j+"="+(i*j)+"\t");
				if(j==9) {
					System.out.println("\n");
				}
				j++;
			}
			j=1;
			i++;
		}

	}

}

9.Random r=new Random();r.nextInt(10)可以随机输出0到9之间的数字。通过输入猜随机产生的数字是什么。记录猜错的次数,如果错误超过3次,则退出,并输出“小笨蛋。。。”,如果3次之内猜对了,则输出“真聪明”

package day6;

import java.util.Random;
import java.util.Scanner;

public class day6_homework9 {

	public static void main(String[] args) {
		boolean flag=true;
		Random r = new Random();
		int random = r.nextInt(10);
		System.out.println("随机数是:"+random);
		Scanner superman = new Scanner(System.in);
		int n;
		
		for(int i=0;i<3;i++) {
			System.out.print("请输入一个数(0-9):");
			n = superman.nextInt();
			if(random==n) {
				flag=false;
				System.out.println("真聪明!");
				break;
			}else {
				System.out.println("猜错了\n");	
			}
		}
		if(flag) {
			System.out.println("小笨蛋");
		}
	}

}

10.输出100以内的素数

//方法一:
package day6;

public class day6_homework10 {

	public static void main(String[] args) {
		int i=0;
		int j=0;
		for(i=1;i<=100;i++) {
			for(j=2;j<=(int)Math.sqrt(i);j++) {
				if(i%j==0) {
					break;
				}
			}
			if(j>(int)Math.sqrt(i)) {
				System.out.println(i);
			}
		}
	}
}
//方法二:
package hardCode;

public class 素数_质数 {

	public static void main(String[] args) {
		boolean flag;
		for(int i=2;i<100;i++) {
			flag=true;	//flag要放在循环里面,每个循环都要重新赋值
			for(int j=2;j<i;j++) {
				if(i%j==0) {
					flag=false;
					break;
				}
			}
			if(flag) {
				System.out.println(i+" ");
			}
		}
	}

}
//方法三:
package hardCode;

public class 素数_质数 {

	public static void main(String[] args) {
		boolean flag;
		for(int i=2;i<100;i++) {
			flag=true;	//flag要放在循环里面,每个循环都要重新赋值
			for(int j=2;j<i/2;j++) {	//i除了2这样效率高些
				if(i%j==0) {
					flag=false;
					break;
				}
			}
			if(flag) {
				System.out.println(i+" ");
			}
		}
	}

}
方法四:
package hardCode;

public class 素数_质数 {

	public static void main(String[] args) {
		boolean flag;
		for(int i=2;i<100;i++) {
			flag=true;	//flag要放在循环里面,每个循环都要重新赋值
			for(int j=2;j<=Math.sqrt(i);j++) {	//i取根号比除2这样效率高些
				if(i%j==0) {
					flag=false;
					break;
				}
			}
			if(flag) {
				System.out.println(i+" ");
			}
		}
	}

}

11.假设一年期定期利率为3.25%,计算一下需要过多少年,一万元的一年定期存款连本带息能翻番?

package day6;

public class day6_homework11 {

	public static void main(String[] args) {
		float interestRate=0.0325f;
		float sum = 10000;
		int i=0;
		while(sum<20000) {
			sum = sum + sum*interestRate;	//利息:sum*interestRate
			i++;
		}
		System.out.println(i);
	}
}

12.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

package day6;

public class day6_homework12 {

	public static void main(String[] args) {
		double h=100;
		double sum=100;
		int t=1;
		while(t!=10) {
			h /= 2;
			sum+=h*2;
			t++;
		}
		System.out.println("在第10次落地时,共经过"+sum+"米");
		System.out.println("第10次反弹"+h+"米");
	}

}

拓展

分别打印直角在左下角、左上角、右上角、右上角的直角三角形(5行)

打印一个直角三角形(直角在左下角)
//package hardCode;
//
//public class 打印星星的各种体位 {
//
//	public static void main(String[] args) {
//		for(int i=0;i<5;i++) {
//			for(int j=0;j<=i;j++) {
//				System.out.print("*");
//			}
//			System.out.println();
//		}
//	}
//
//}


打印一个直角三角形(直角在左上角)
//package hardCode;
//
//public class 打印星星的各种体位 {
//
//	public static void main(String[] args) {
//		for(int i=5;i>0;i--) {
//			for(int j=5;j>5-i;j--) {
//				System.out.print("*");
//			}
//			System.out.println();
//		}
//	}
//
//}


打印一个直角三角形(直角在右上角)
//package hardCode;
//
//public class 打印星星的各种体位 {
//
//	public static void main(String[] args) {
//		for(int i=5;i>0;i--) {
//			for(int j=i;j<5;j++) {
//				System.out.print(" ");
//			}
//			for(int k=5;k>5-i;k--) {
//				System.out.print("*");
//			}
//			System.out.println();
//		}
//	}
//
//}


打印一个直角三角形(直角在右下角)
//package hardCode;
//
//public class 打印星星的各种体位 {
//
//	public static void main(String[] args) {
//		for(int i=5;i>0;i--) {
//			for(int j=i;j>1;j--) {
//				System.out.print(" ");
//			}
//			for(int k=i-5;k<1;k++) {
//				System.out.print("*");
//			}
//			System.out.println();
//		}
//	}
//
//}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值