java基础(五)——多重循环经典示例
一、打印三角形和平行四边形
public class Demo2 {
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();
}
System.out.println();
// //平行四边形
// for (int i = 0; i < 5; i++) {
// for (int j = 0; j<i; j++) {
// System.out.print(" ");
// }
// for (int j = 0; j< 5;j++) {
// System.out.print("*");
// }
// System.out.println();
//直角在右上角的三角形
for (int i = 0; i < 5; i++) {
for (int j = 0; j < i; j++) {
System.out.print(" ");
}
for (int j = 0; j< 5-i; j++) {
System.out.print("*");
}
System.out.println();
}
//等腰三角形
for (int i = 0; i < 5; i++) {
for (int j = 0; j< 4-i; j++) {
System.out.print(" ");
}
for (int j = 0; j < 2*i+1; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
二、九九乘法表
1.break及return的用法
public class Demo3 {
public static void main(String[] args) {
for (int i = 1; i <=9; i++) {
for (int j = 1; j <=i; j++) {
// if(i==j){ //在多重循环中,break只跳出当前循环
// break;
// }
// return 跳出当前方法
System.out.print(i+"*"+j+"="+i*j+"\t");// 可以用制表符\t进行对齐
}
System.out.println();
}
}
}
2.continue的用法
public class Demo4 {
public static void main(String[] args) {
//统计大于80分的学生比例
Scanner sc =new Scanner(System.in);
System.out.print("输入班级总人数:");
int num=sc.nextInt();
int cnt=0;
for (int i = 0; i <=num; i++) {
System.out.print("请输入第"+i+"个学生的成绩:");
int score= sc.nextInt();
if(score<80){
continue;
}
cnt++;
}
System.out.println("80分以上的学生总数为:"+cnt);
System.out.println("80分以上的学生比例为:"+cnt/(double)num);
}
}
三、判断2到100的素数
public class Demo6 {
public static void main(String[] args) {
for (int i = 2; i <= 100; i++) {
boolean flag = false;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
flag = true;
break;
}
}
if (!flag) {
System.out.println(i + "是素数!");
}
}
}
}
四、分解质因数
public class Demo7 {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
System.out.print("请输入一个正整数:");
int num = sc.nextInt();
System.out.print(num+"=");
for (int i = 2; i <=num; i++) {
if(i==num){
System.out.println(num);
break;
}
if(num%i==0){
System.out.print(i+"*");
num/=i;
i--;
}
}
}
}