首页 > 代码库 > 使用java理解程序逻辑(9)

使用java理解程序逻辑(9)

public class One

{
  public static void main(String[] args)

  {
    // 8 15 27 39 44 56
    // 33
    Scanner input = new Scanner(System.in);
    int[] one = { 8, 15, 27, 39, 44, 56 };
    System.out.print("原字符序列为:");
    for (int i = 0; i < one.length; i++)

    {
    System.out.print(one[i] + " ");
  }
  System.out.print("\n请输入一个数:");
  int a = input.nextInt();// 33
  int index = one.length;//3// 保存a保存位置的索引//3
  for (int i = 0; i < one.length; i++)

  {
    if (one[i] >= a) //39 >= 33

    {
      index = i;// 找到a存放的位置
      break;// 跳出循环
    }
  }
  // one:8 15 27 39 44 56
  // two:8 15 27 39 44 56 88
  // 新数组two存放插入完成的数组序列
  int[] two = new int[one.length + 1];
  for (int i = 0; i < two.length; i++)

  {
    if (i < index) //6 < 6

    {
      two[i] = one[i];
    }

    else if (i == index) //6 == 6

    {
      two[i] = a;//88
    }

    else // i>index //6 > 3

    {
      two[i] = one[i - 1];
    }
  }
  System.out.print("插入完成后数组为:");
  for (int i = 0; i < two.length; i++)

  {
    System.out.print(two[i] + " ");
  }
 }
}

 

 

i++ :先使用 后累加

++i :先累加 后使用

int i=10;
System.out.println(i++);//10 
System.out.println(++i);//12
System.out.println(i--);//12
System.out.println(--i);//10
int a=++i + i--;//11 + 11
System.out.println(a);//22
System.out.println(i);//10

 

 

乘法口诀表:

public class Three

{
  public static void main(String[] args)

  {
    for(int i=1;i<=9;i++)//外层循环行

    {
      for(int j=1;j<=i;j++)//内层循环列

      {
        System.out.print(j+"*"+i+"="+(i*j)+"\t");
      }
      System.out.println();//换行
    }
  }
}
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
....
1*9=9 2*9=18 .............. 9*9=81

 

直角三角形:

public class Two

{
  public static void main(String[] args)

  {
    Scanner input=new Scanner(System.in);
    System.out.print("请输入行数:");
    int row=input.nextInt();
    for(int i=1;i<=row;i++)//外层循环 行 i=3

    {
      for(int j=1;j<=2*i-1;j++)//内存循环 列 j=3

      {
        System.out.print("*");
      }
      System.out.println();//换行
    }
    //倒直角
    for(int i=row;i>=1;i--)//外层循环 行 i=3

    {
      for(int j=1;j<=2*i-1;j++)//内存循环 列 j=3

      {
        System.out.print("*");
      }
      System.out.println();//换行
    }
  }
}

 

 

等腰三角形:

public class Three

{
  public static void main(String[] args)

  {
    //等腰三角形
    //5
    for(int i=5;i>=1;i--)//行

    {
      for(int k=1;k<=5-i;k++)//每行空格

      {
        System.out.print(" ");
      }
      for(int j=1;j<=2*i-1;j++)//列

      {
        if(j==1 || j==2*i-1 || i==5)

        {
          System.out.print("*");
        }

        else//打印空格

        {
          System.out.print(" ");
        }
      }
      System.out.println();//换行
    }
    for(int i=2;i<=5;i++)//行

    {
      for(int k=1;k<=5-i;k++)//每行空格

      {
        System.out.print(" ");
      }
      for(int j=1;j<=2*i-1;j++)//列

      {
        if(j==1 || j==2*i-1 || i==5)

        {
          System.out.print("*");
        }

        else//打印空格

        {
          System.out.print(" ");
        }
      }
      System.out.println();//换行
    }
  }
}
    *
   ***
  *****
 *******
  *********

 

 

int a=10;//int32//常用
long b=10;//int64
double d=8.88d;//64 双精度浮点型 //常用
float e=7.77f;//32 单精度浮点型

 

 

简单双色球:

public class Four

{
  public static void main(String[] args)

  {

    //前6位:1-33随机数 (不能重复)
    //最后一位:1-16随机数
    //8 22 33 16 17 18 + 15
    int[] one=new int[7];//存放7位双色球数字
    //4 33 17 10 5 31 0
    for (int i = 0; i < one.length-1; i++)//前6位 1-33随机数 i=5

    {
      while(true)

      {
        int rand=(int)(Math.random()*33+1);//1-33随机数
        boolean ok=false;//默认代表rand不跟前6位重复
        for (int j = 0; j < one.length-1; j++)

        {
          if(one[j]==rand)//重复了

          {
            ok=true;//重复了
            break;
          }
        }
        if(!ok)//不重复

        {
          one[i]=rand;
          break;//跳出整个while
        }
      }
    }
    one[one.length-1]=(int)(Math.random()*16+1);//1-16随机数
    System.out.println("双色球如下:");
    for (int i = 0; i < one.length; i++)

    {
      System.out.print(one[i]+"\t");
    }
  }
}

 

 

沙漏(实心)(倒三角、正三角):

public class shalou

{
  public static void main(String[] args)

  {
    int i = 9;//9行
    for (int y = 0; y < (i + 1) / 2; y++)

    {
      for (int x = 0; x < i; x++)
        if (x >= y && x <= i - y - 1)
          System.out.print("* ");
        else
          System.out.print(" ");
      System.out.print("\n");
    }
    for (int y = (i + 1) / 2; y < i; y++)

    {
      for (int x = 0; x < i; x++)
        if (x <= y && x >= i - y - 1)
          System.out.print("* ");
        else
          System.out.print(" ");
      System.out.print("\n");
    }
  }
}

 

*********
  *******
   *****
    ***
     *
   ***
  *****
 *******
*********

 

 

百钱买百鸡:

public class One

{
  public static void main(String[] args)

  {
    for (int i = 0; i <= 20; i++)

    {
      for (int j = 0; j <= 33; j++)

      {
        for (int k = 0; k <= 100; k++)

        {
          if (15 * i + 9 * j + k == 300 && i + j + k == 100)

          {
            System.out.println("公鸡" + i + "母鸡" + j + "小鸡" + k);
          }
        }
      }
    }
  }
}

 

 

倒三角:

public class Daosanjiao

{
  public static void main(String[] args)

  {
    int hang = 3;
    for (int i = 0; i < hang; i++)

    {
      for (int a = 0; a < i; a++)

      {
        System.out.print(" ");
      }
      for (int b = 1; b <= 2 * hang - 2 * i - 1; b++)

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

 

使用java理解程序逻辑(9)