循环语句及双重循环

来源:互联网 发布:中信证券 for mac 编辑:程序博客网 时间:2024/05/01 08:58

复习:

//1!+2!+3!+………+9!+10!=sum
public class Test {
public static void main(String[] args) {
int a=1;
int sum=0;
for (int i =1; i <=10; i++) {
a*=i;//a=a*i;
sum+=a;
}
System.out.println(sum);
}
}

双重循环,即一个循环内嵌着另外一个循环,外面的循环每跑一遍,内循环均要全部跑完。

练习1:

//利用双循环打印倒三角
public class Test1 {
public static void main(String[] args) {
for (int i = 15; i > 0; i--) {
for (int j = 0; j < i; j++) {
System.out.print("*");
}
System.out.println();
}
}


}


练习2:

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

练习3:

//菱形
public class Test3 {
public static void main(String[] args) {

int hangshu = 11;  
int yiban = hangshu / 2 + 1;  
int yibanduo = hangshu / 2;  
System.out.println("空心菱形:");  
for(int k = 1;k <= yiban;k++){  
   for(int i = 1;i <= (yiban - k);i++){  
       System.out.print(" ");  
   }  
   System.out.print("*");  
   for(int i = 1;i <= ( (k - 2) * 2 + 1);i++){  
       System.out.print(" ");  
   }  
   if(k != 1){  
       System.out.print("*");    
   }  
   System.out.println();  
}  
for(int k = yibanduo;k >=1;k--){  
   for(int i = 1;i <= (yiban - k);i++){  
       System.out.print(" ");  
   }  
   System.out.print("*");  
   for(int i = 1;i <= ( (k - 2) * 2 + 1);i++){  
       System.out.print(" ");  
   }  
   if(k != 1){  
       System.out.print("*");    
   }  
   System.out.println();  
}  
 
 
System.out.println("实心菱形:");  
for(int i = 1;i <= hangshu;i++){  
   if(i <= hangshu/2 + 1){  
       for(int k = 1;k <= hangshu/2 + 1- i;k++){  
           System.out.print(" ");  
       }  
       for(int k = 1;k <= i;k++){  
           System.out.print("* ");  
       }  
           System.out.println();  
   }else{  
       for(int k =1;k <= (i -(hangshu/2 + 1));k++){  
           System.out.print(" ");  
       }  
       for(int k = 1;k <= (2 *(hangshu/2 + 1) - i);k++){  
           System.out.print("* ");  
       }  
       System.out.println();  
   }     
}  
}
}

练习4:



public class Test4 {
/**
* 等腰三角形
*/
   public void print1(){//形如 ▲向上的 
       for(int i=1;i<=5;i++){
           for(int k=1;k<=5-i;k++)
               System.out.print(" ");
           for(int j=1;j<=2*i-1;j++)
               System.out.print("*");
           
           System.out.print("\n");
       }
   }


   public void print2(){//形如:倒▲ 向下的 
       for(int i=1;i<=5;i++){
           for(int j=1;j<=i-1;j++)
               System.out.print(" ");
           for(int k=1;k<=11-(2*i);k++)
               System.out.print("*");
           
           System.out.print("\n");
       }
   }
   
   public static void main(String[] args) {
    Test4 app = new Test4();
       System.out.println


("---------------------------");
       app.print1();
       System.out.println


("---------------------------");
       app.print2();
       System.out.println


("---------------------------");
   }
}

练习5:数组复习



import java.util.Scanner;


//从控制台接收数据,用数组存储并计算姓张的人数
public class Test5 {
public static void main(String[] args) {
String name []=new String[5];
int sum=0;
for (int i = 0; i < name.length; i++) {
Scanner scr=new Scanner(System.in);
System.out.println("第"+(i+1)+"位姓名:");
name[i]=scr.next();
}
for (int i = 0; i < name.length; i++) {

if (name[i].startsWith("张")) {
sum++;
}
}
System.out.println("姓张的人数为:"+sum);
}


}



原创粉丝点击