案类

  1. 减肥计划

package com.yang.basePractice;

import java.util.Scanner;

//减肥计划
public class Demo01 {
   public static void main(String[] args) {
       //键盘录入
       Scanner scanner = new Scanner(System.in);
       System.out.println("请输入星期");
       //接收数据
       int week = scanner.nextInt();
       week(week);

  }
    //if循环
   public static void week(int week){
       if(week<1 || week>7){//判断数据是否有误
           System.out.println("你输入的星期有误");
      }
       if (week==1) {
           System.out.println("跑步");
      }else if(week==2) {
           System.out.println("爬山");
      }else if(week==3){
           System.out.println("拳击");
      }else if (week==4) {
           System.out.println("单车");
      }else if (week==5) {
           System.out.println("散步");
      }else if (week==6) {
           System.out.println("游永");
      }else if (week==7) {
           System.out.println("踢足球");
      }
  }
   //switch语句
   public static void week1(int week){
       switch (week){
           case 1://冒号
               System.out.println("跑步");
               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;
           case 6:
               System.out.println("游永");
               break;
           case 7:
               System.out.println("踢足球");
               break;
           default:
               System.out.println("你输入的星期数有误");
      }
  }

}
  1. 逢七过

package com.yang.basePractice;

import java.util.Scanner;

//逢七过
//7的倍数或者有7
public class Demo02 {
   public static void main(String[] args) {
       seven();
  }
   //7   i%7==0 倍数
   //17 17%10 个位
   //77 77/10%10 十位
   public static void seven(){
       for (int i = 1; i <=100 ; i++) {
           if(i%7==0 || i%10==7 || i/10%10==7){
               System.out.print(i+"\t");
          }
      }
  }
}
  1. 不死神兔

package com.yang.basePractice;
//不死神兔
public class Demo03 {

   /*
   第一个月 1
   第二个月 1
   第三个月 2
   第四个月 3
   第五个月 5
   arr[5] = arr[5-2]+arr[5-1]
    */
   public static void main(String[] args) {
       int[] arr =new int[20];
       arr[0] = 1;
       arr[1] = 1;
       for (int j =2 ; j <arr.length ; j++) {
          arr[j] = arr[j-2] +arr[j-1];
      }
       System.out.println(arr[19]);

       int n = rabbit(20);
       System.out.println(n);
  }

   //递归
   public static int rabbit( int x){
       if (x == 1 || x==2) {//出口
           return 1;
      }
       return rabbit(x-1)+rabbit(x-2);
  }
}

4.百钱百鸡

//百钱百鸡
//公 1只5钱   母鸡 1只3钱   雏鸡 1钱3只
public class Demo04 {
   public static void main(String[] args) {

       for (int i = 0; i <=20 ; i++) {//表示公鸡的范围
           for (int j = 0; j <=33 ; j++) {//表示母鸡的范围
               int z = 100-j-i;//鸡仔的数
               if(z%3==0 && i*5+j*3+z/3==100){
                   System.out.println(i+","+j+","+z);
              }
          }
      }
  }

}
  1. 比较两个数组

package com.yang.basePractice;

public class Demo05 {
   public static void main(String[] args) {
       int[] arr = {11,22,44};
       int[] arr1 = {11,22,33};
       boolean b = compare(arr, arr1);
       System.out.println(b);

  }
   //两个明确:返回值 boolean ,参数两个数组
   public static boolean compare(int[] arr,int[] arr2){
       //比较两个数组的长度
       if (arr.length!=arr2.length ) {
           return false;
      }
       //比较内容是否相等
       for (int i = 0; i <arr.length ; i++) {
           if (arr[i] != arr2[i]) {
               return false;
          }
      }
       return true;
  }
}
  1. 查找

package com.yang.basePractice;

import java.util.Scanner;

//查找
public class Demo06 {
   public static void main(String[] args) {
       int[] arr ={11,22,33,44};
       Scanner sc = new Scanner(System.in);
       int x = sc.nextInt();

       int up = lookUp(x, arr);
       System.out.println(up);

  }

   //返回值:
   public static int lookUp(int x,int[] arr){

       int index = -1;//聪明:定义一个初始变量

       for (int i = 0; i <arr.length ; i++) {
           if (arr[i] ==x) {
               index= i;
          }
      }
       return index;

  }


}
  1. 反转数组

package com.yang.basePractice;
//反转数组
public class Demo07 {
   public static void main(String[] args) {

       int[] arr = {11,22,33,44,55,66};//初始化

       //调用反转方法
       reversal(arr);
       //调用遍历方法
       arr1(arr);

  }
   //反转的方法
   //参数:int[]
   public static void reversal(int[] arr){

       for (int start = 0,end=arr.length-1; start<=end; start++,end--) {//反转
           int temp =arr[start];
           arr[start] = arr[end];
           arr[end] = temp;
      }

  }

   /*
   写个数组拼接的方法:
    返回值:void
    参数:int[] 数组
    */
   public static void arr1(int[] arr){

       System.out.print("[");
       for (int i = 0; i <arr.length ; i++) {
           if (i==arr.length-1) {
               System.out.print(arr[i]);
          }else {
               System.out.print(arr[i]+", ");
          }
      }
       System.out.print("]");
  }
}
  1. 评委打分

package com.yang.basePractice;

import java.util.Scanner;

//评委打分 去掉做高分和最低分,求平均值
public class Demo08 {
   public static void main(String[] args) {
       int[] arr =new int[6];//定义数组
       //录入数据
       Scanner sc = new Scanner(System.in);
       for (int i = 0; i <6 ; i++) {
           System.out.println("请输入第"+(i+1)+"评委的分数");
           arr[i] =sc.nextInt();//将数据放入数组
      }
       arr2(arr);//遍历数组
       //调方法
       int max = maxNum(arr);//最大值
       int min = mixNum(arr);//最小值
       int sum = addNum(arr);//求和
       int result = (sum-max-min)/arr.length-2;//规则计算
       System.out.println("最后的评分数结果为"+result);//输出


  }


   //求数组中的组大值
   public static int maxNum(int[] arr){
       int max =arr[0];
       for (int i = 1; i <arr.length ; i++) {
           if (arr[i]>max) {
               max=arr[i];
          }
      }
       return max;
  }
   //求最小值
   public static int mixNum(int[] arr){
       int mix =arr[0];
       for (int i = 1; i <arr.length ; i++) {
           if (arr[i]<mix) {
               mix=arr[i];
          }
      }
       return mix;
  }
   //求和
   public static int addNum(int[] arr){
       int sum = 0;
       for (int i = 0; i <arr.length ; i++) {
           sum += arr[i];
      }
       return sum;
  }

   //拼接数组
   public static void arr2(int[] arr){

       System.out.print("[");

       for (int i = 0; i <arr.length ; i++) {
           if (i == arr.length-1) {
               System.out.print(arr[i]);
          }else{
               System.out.print(arr[i]+", ");
          }
      }

       System.out.println("]");
  }


}

冒泡排序

package com.yang.array;

/*
冒泡排序:相邻数据进行两两比较。
:如果有n个数据排序,则需要比较n-1次
:每一次比较完,下一次比较就会少一个数据。
*/
public class Demo06 {
public static void main(String[] args) {
int[] array = {22, 33, 11, 66, 88, 44, 55};
System.out.println("排序前"+arrayToString(array));

for (int i = 0; i < array.length - 1; i++) {
if (array[i] > array[i + 1]) {//ArrayIndexOutOfBoundsException 下标越界.array[i+1] 因此改为 i <array.length-1
int temp = array[i];
array[i] = array[i + 1];
array[i + 1] = temp;
}
// System.out.print(array[i]+"\t");
}
/*for (Integer i: array
) {
System.out.println(i);
}*/
System.out.println("第一次"+arrayToString(array));


//总排序为
for (int i = 0; i <array.length-1 ; i++) {//总共要排序n-1次
for (int j = 0; j <array.length-1-i ; j++) {//每一次排序后就少一个数-x
if (array[j]>array[j+1]) {
int temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}

}
System.out.println("最后次"+arrayToString(array));


}
//拼接字符串
public static String arrayToString(int[] arr) {
StringBuilder builder = new StringBuilder();
builder.append("[");

for (int i = 0; i < arr.length; i++) {
if (i == arr.length - 1) {//是否是最后一个
builder.append(arr[i]);
}else{
builder.append(arr[i]).append(",");
}
}
builder.append("]");
String s = builder.toString();//转化为String
return s;
}

}