1. 程式人生 > >for、while迴圈,列印三角形、菱形

for、while迴圈,列印三角形、菱形

import java.util.Scanner;
public class aaa
 
{
 //1.列印天數
 
 /*public static void main(String[] args)
 {
  int year=2000;//年份
  int month=2;  //月份
    if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){
        System.out.println(year+"年"+month+"月一共31天");
   }else if(month==4||month==6||month==9||month==11){
                 System.out.println(year+"年"+month+"月一共30天");
   }else {
    if(year%4==0&&year%100!=0 || year%400==0){
                  System.out.println(year+"年"+month+"月一共29天");
    }else{
      System.out.println(year+"年"+month+"月一共28天");
    }
     }
 }
*/

  //2.列印等級
/*  public static void main(String args[]){
   int grade=56;//分數
   if(grade>=90 && grade<=100){//如果這個被執行,下面的if語句將不會被執行,因此下面那個if語句不用寫成grade>=80 &&grade<90。
    System.out.println("A");
   }else if(grade>=80){
    System.out.println("B");
   }else if(grade>=70){
     System.out.println("C");
   }else if(grade>=60){
     System.out.println("D");
   }else
   {
     System.out.println("E");
   }
  }*/
 
  //3.列印會員等級
 
 /* public static void main(String[] args){
   int grade=8;//會員等級
   switch(grade){//grade是表示式,注意表示式的資料型別
    case 1:
            System.out.println("會員等級為:☆");
      break;//可以省略,省略以後將依次執行case語句(不去判斷表示式的值是否等於常量),直到遇到break才停止
          case 2:
            System.out.println("會員等級為:☆☆");
      break;
    case 3:
            System.out.println("會員等級為:☆☆☆");
      break;
    case 4:
            System.out.println("會員等級為:☆☆☆☆☆");
      break;
    case 5:
            System.out.println("會員等級為:☆☆☆☆☆☆");
      break;
         default :
             System.out.println("你不是會員");
      break;
   }
  }*/
 

  //4.while列印1-100以內的每一個數
  /**
public static void main(String[] args){
 int i=1;
 while(i<=100){
  System.out.println(i);
  i++;
 }
}
**/

//5.求100以內的基數和
/**public static void main(String[] args){
 int x=1,num=0;//x是1-100之內的數,num是求和
 while(x<=100){
  if(x%2!=0){
  num+=x;
  }
  x++;
  System.out.println("現在的和是"+ num);
 }
   System.out.println("100以內的基數和和是"+ num);
}
**/

//6.do while 列印100以內的每個數
/**
public static void main(String[] args){
 int x=1;//變數,用於存放1-100之內的數,可變的量
 do{
  System.out.println(x);
  x++;
 }while (x<=100); 
}
**/

//7.使用while迴圈說出1000次我愛你
/**
public static void main(String[] args){
  int i=1;//說出第一次
  while(i<=1000){
   System.out.println("第"+i+"次我愛你");
   i++;
  }
}
**/

//8.使用for迴圈輸出1000次我愛你
/**
public static void main(String[] args){
 int i=1;
       // 1.迴圈變數  2.迴圈條件  4.更新迴圈變數
 for(i=1;        i<=1000;    i++){
    System.out.println("第"+i+"次我愛你");//3.迴圈操作。也就是迴圈體
 }
}
**/

//9.三種方法,求100之內的和
/**第一種:while迴圈
public static void main(String[] args){
 int i=1;
 int num=0;
 while(i<=100){
      num=num+i;
   i++;
 }
 System.out.println(num);
}**/
/**第二種:do while迴圈
public static void main(String[] args){
    int i=1;
 int num=0;
 do{
       num=num+i;
    i++;
 }while(i<=100);
 System.out.println(num);
}**/
/**第三種:for迴圈
public static void main(String[] args){
 int num=0;
 for(int i=1;i<=100;i++){
     num=num+i;
  System.out.println("第"+i+"次迴圈的和為"+num);
 }
 System.out.println("最終和為"+num);
 }**/

 //10.列印等腰三角形
 public static void main(String[] args) {
  int rows = 0; //三角形行數
  System.out.print("請輸入等腰三角形的行數:");
  Scanner input = new Scanner(System.in);
  rows = input.nextInt();
  //列印等腰三角形,其中i表示整個這個等腰三角形的行數,j表示三角形中空格的行數,k表示三角形中*的行數
  for(int i = 1; i <= rows; i++){
   for(int j = 1; j <= rows-i; j++){
    System.out.print(" ");//先輸出row-i個空行
   }
   for(int k = 1; k <= 2*i-1; k++){
    System.out.print("*");//再輸出2*i-1個*
   }                         //先輸出row-i個空行,再輸出2*i-1個*,這就是三角形的左半部分空白和所有*,右半部分空白不用管。到此為止完成一行
   System.out.print("\n");//回車,開始列印三角形的下一行
  }
 }


//11.列印菱形
/**
public static void main(String[] args) {
  int rows = 0; //菱形的行數
  Scanner input = new Scanner(System.in);
  System.out.print("請輸入菱形行數:");
  rows = input.nextInt();

  while(rows%2 == 0){
   System.out.print("請輸入奇數:");
   rows = input.nextInt();
  }

  int n = (rows+1)/2;
  //列印菱形的上半部分
  for(int i = 1; i <= n; i++){//外層迴圈變數i控制行數
   for(int j = 1; j <= n-i; j++){//內層迴圈變數j控制該行空格數
    System.out.print(" ");
   }
   for(int k = 1; k <= 2*i-1; k++){//內層迴圈變數k控制該行*號數
    System.out.print("*");
   }
   System.out.print("\n");
  }
  //列印菱形的下半部分
  for(int i = n-1; i >= 1; i--){
   for(int j = 1; j <= n-i; j++){
    System.out.print(" ");
   }
   for(int k = 1; k <= 2*i-1; k++){
    System.out.print("*");
   }
   System.out.print("\n");
  }
 }
 **/

      //12.列印空心菱形
   /**
  public static void main(String[] args) {
  int rows = 0; //菱形的行數
  Scanner input = new Scanner(System.in);
  System.out.print("請輸入菱形行數:");
  rows = input.nextInt();

  while(rows%2 == 0){
   System.out.print("請輸入奇數:");
   rows = input.nextInt();
  }

  int n = (rows+1)/2;
  //列印菱形的上半部分
  for(int i = 1; i <= n; i++){//外層迴圈變數i控制行數
   for(int j = 1; j <= n-i; j++){//內層迴圈變數j控制該行空格數
    System.out.print(" ");
   }
   System.out.print("*");
   for(int k = 1; k <= 2*(i-1)-1; k++){//內層迴圈變數k控制該行*號數
    System.out.print(" ");
   }
   if(i!=1){
   System.out.print("*");
   }
   System.out.print("\n");
  }
  //列印菱形的下半部分
  for(int i = n-1; i >= 1; i--){
   for(int j = 1; j <= n-i; j++){
    System.out.print(" ");
   }
   System.out.print("*");
   for(int k = 1; k <= 2*(i-1)-1; k++){
    System.out.print(" ");
   }
   if(i!=1){
   System.out.print("*");
   }
   System.out.print("\n");
  }
 }
 **/
 //三行五列
/**
 public static void main(String[] args) {
  for(int i=1;i<=5;i++){
   for(int j=1;j<=i;j++){
                System.out.print("*");

   }
    System.out.print("\n");
  }
 }
**/
}