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();
// }
// }
//
//}