韩顺平JAVA——基础练习

Switch

  1. 成绩大于60,合格 ;成绩低于60,不合格
import java.util.Scanner;
public class Learning {
    public static void main(String[] args){
    Scanner myScanner = new Scanner(System.in);
    System.out.println("请输入:");
    double score = myScanner.nextDouble();


    switch((int)(score / 60)){
        case 1 :
            System.out.println("成绩合格");
            break;
        case 0 :
            System.out.println("成绩不合格");
            break;
        default:
            System.out.println("输入有误");
    }
}
}
  1. 根据月份,打印季节;(3,4,5春季)(6,7,8夏季)(9,10,11秋季)(12,1,1冬季)
 
import java.util.Scanner;
public class Learning {
    public static void main(String[] args){
    Scanner myScanner = new Scanner(System.in);
    System.out.println("请输入:");
    int month = myScanner.nextInt();

    switch(month){
        case 3 :
        case 4 :
        case 5 :
            System.out.println("春季");
            break;
        case 6 :
        case 7 :
        case 8 :
            System.out.println("夏季");
            break;
        case 9 :
        case 10 :
        case 11 :
            System.out.println("秋季");
            break;
        case 12 :
        case 1 :
        case 2 :
            System.out.println("冬季");
            break;
        default:
            System.out.println("输入有误");
    }
}
}

for循环

import java.util.Scanner;
public class Learning {
    public static void main(String[] args){
        int num = 0;
        int sum = 0;
        for(int i = 1; i <= 100 ; i++){
            if( i % 9 == 0 ){
                System.out.println("i=" + i);
                num++;
                sum += i;
            }
        }
        System.out.println("个数为:" + num);
        System.out.println("总和为:" + sum);
}
}

多重循环嵌套

要求:1,输入成绩,分别计算三个班的平均成绩。
2,计算三个班级的总平均成绩。
3,统计三个班总的合格人数。

import java.util.Scanner;
public class Learning {
    public static void main(String[] args){
        Scanner myScanner = new Scanner(System.in);
        //1,输入成绩,分别计算三个班的平均成绩。
        //2,计算三个班级的总平均成绩。
        //3,统计三个班总的合格人数(60分)。
        int sum2 = 0;//总的平均成绩
        int num = 0;//合格人数

        for(int j = 1; j <= 3 ; j++){//三个班级
            int sum1 = 0;//每个班的平均成绩,放在这里,新的班级会归零计算
            for( int i = 1 ; i <= 5 ; i++){//每个班级输入五个成绩
                System.out.println( j +"班第" + i + "个学生成绩为:");
                double score = myScanner.nextDouble();//输入学生成绩
                sum1 += score;

                if( score >= 60){//统计合格人数
                    num++;
                }
            }
            System.out.println(j + "班的平均成绩为:" + (sum1*1.0/5));
            sum2 += sum1;
        }
        System.out.println("三个班级的平均成绩为:" + (sum2*1.0/15));
        System.out.println("三个班级的合格人数为:" + num);
}
}

break跳转

import java.util.Scanner;
public class Learning {
    public static void main(String[] args){
        //break跳脱语句练习
        //1-100内的数求和,当sum>20时,记录下当前数,然后break。
        int sum = 0;
        
        for( int i = 1 ; i <= 100 ; i++)
        {
            sum += i;
            System.out.println("sum=" + sum );
            
            Lable1://标签,指定跳转
            if(sum > 20){
                System.out.println("当前和为:" + sum +",大于20");
                break  Lable1;
            }
        }
        System.out.println("跳出循环");
}
}

continue跳转

continue:跳出本次循环,继续下一次循环。

import java.util.Scanner;
public class Learning {
    public static void main(String[] args){
        lable1:
        for( int j = 0; j < 4 ;j++){
            lable2:
            for(int i = 0 ; i <10 ; i++){
                if( i == 2){
                    continue;
                    //continue lable1;
                   // continue lable2;
                }
                System.out.println("i = " +i);
            }
        }
}
}

数组扩容与删减

import java.util.Scanner;
class Main {
	public static void main(String[] args) {
        Scanner myScanner = new Scanner(System.in);
        int[] arr = {1 ,2, 3};

        do{
            int[] arrNew = new int[arr.length + 1];
            for( int i = 0 ;i < arr.length ;i++){
                arrNew[i] = arr[i];
            }

            //输入要添加的数字
            System.out.print("请输入要添加的数字:");
            int num = myScanner.nextInt();

            arrNew[arrNew.length - 1] = num;
            arr = arrNew;

            //展示扩容后的数组
            System.out.println("扩容后的数组arr为————————————————————");
            for( int i = 0 ;i < arr.length ;i++){
                System.out.println( arr[i] + "\t");
            }

            //是否继续输入数字,yes-y,no-n
            System.out.print("是否继续添加数字?y/n :");
            char key = myScanner.next().charAt(0);
            if( key == 'n'){
                break;
            }

        }while(true);//无限循环

	}
}
import java.util.Scanner;
class Main {
	public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9};
        int[] arrNew = new int[arr.length - 1];

        for( int i = 0 ;i < arr.length - 1 ;i++){
            arrNew[i] = arr[i];
        }
        
        arr = arrNew;
        //展示扩容后的数组
        System.out.println("缩减后的数组arr为————————————————————");
        for( int i = 0 ;i < arr.length ;i++){
            System.out.println( arr[i] + "\t");
        }
	}
}

冒泡排序

import java.util.Scanner;
class Main {
	public static void main(String[] args) {
        // Scanner myScanner = new Scanner(System.in);
        int[] arr = {24 , 69, 80, 57, 13};
        for( int j = 0 ; j < arr.length - 1 ; j++){//一共要排arr.length-1次
        //相邻的两个数之间相互比较,一次排序,把最大的数排的最后    
            for( int i = 0 ; i < arr.length-1 ; i++){
            // i < arr.length-1,因为arr[i+1]不能等于arr[arr.length]
                if( arr[i] >= arr[i+1]){
                    int max = arr[i];
                    int temp = arr[i+1];

                    arr[i] = temp;
                    arr[i + 1] = max;
                }
            }
            System.out.println("第" + (j+1) + "轮" + "冒泡排序的结果为:");
            for( int i=0 ; i < arr.length ;i++){
                System.out.print(arr[i] + "\t");
                }    
                System.out.println();
        }
	}
}

数组查找

import java.util.Scanner;
class Main {
	public static void main(String[] args) {
        Scanner imput = new Scanner(System.in);
        System.out.print("请输入:");
        String str = imput.next();

        String[] arr = {"白眉鹰王", "金毛狮王" ,"紫衫龙王" ,"青翼蝠王" };
        int index = -1;
        for(int i = 0; i < arr.length ; i++){
            if( str.equals(arr[i]) ){//字符串的比较使用equals
                System.out.println("找到了,下标为:" + i );
                index = i;
                break;
            }
        }
        if( index == -1 ){
            System.out.println("对不起,没有找到 " + str);
        }
	}
}

二维数组——杨辉三角

请添加图片描述
杨辉三角从第三行开始, C(n , i) = C(n-1, i) + C(n-1, i - 1)


import java.util.Scanner;
public class Learning {
    public static void main(String[] args){
        int[][] arr = new int[10][];
        //遍历数组,放入元素
        for(int i = 0 ; i < arr.length ;i++){
            //给每个一维数组开空间,即确定里面元素个数
            arr[i] = new int[i + 1];
            
            //单独处理第一行,第二行
            if( i == 1 || i == 0){
                for( int j = 0 ; j < arr[i].length ;j++){
                    arr[i][j] = 1;
                }
            }else{//处理第三行之后
                for( int j = 0 ; j < arr[i].length ;j++){
                    if( j == 0 || j == (arr[i].length -1) ){
                        arr[i][j] = 1;
                    }else{
                        arr[i][j] = arr[i-1][j] + arr[i-1][j-1];
                    }
                }
            }
        }
		//遍历输出
        for(int i = 0 ; i < arr.length ;i++){
            for( int j = 0 ; j < arr[i].length ;j++){
                System.out.print( arr[i][j] + "\t");
            }
            System.out.println();
        }

    }
}

数组作业——插入数据

import java.util.Scanner;
class Main {
	public static void main(String[] args) {
        //已知某个升序的数组,插入一个数,插入后仍然为升序
        // arr = {10, 12, 45, 90},插入23, {10, 12, 23, 45, 90}
        int[] arr = {10, 12, 45, 90};
        int[] arr2 = new int[arr.length+1];
        int add = 23;
        int index = -1;

        //第一步,找到要插入的位置
        for( int i = 0 ; i < arr.length ; i++){
            if( add <= arr[i] ){
                index = i ;
                break;
            }
        }       
        if(index == -1){//若index=-1,则说明要插入的数排在最后
            index = arr.length;
        }
        System.out.println("插入位置:" + index);


        //第二步:插入数据
         for( int i = 0 , j = 0 ; i < arr2.length ; i++){
             if( i != index ){//拷贝元素到arr2
                 arr2[i] = arr[j];
                 j++ ;
             }else{
                 arr2[i] = add;
             }
        }

         System.out.println("插入数后=============");
         for( int i = 0 ; i < arr2.length ; i++){
             System.out.println(arr2[i]);
         }
	}
}

数组作业——插入数据

    //随机生成10个整数(1-100)
    //1,倒序打印.
    //2,求平均值,最大值及其下标.
    //3,查找里面是否有8这个数。
import java.util.Scanner;
public class Learning {
    public static void main(String[] args){
    
        int[] arr = new int[10];
        for( int i = 0 ; i < arr.length ; i++){
            arr[i] = (int)(Math.random() * 100 + 1 );
            System.out.print(arr[i] + "\t");
        }
        System.out.println();
        System.out.println("==========================");//分割线

        //1,倒序打印
        for( int i = 0 ,j = arr.length-1; i < arr.length/2 ; i++){
            int temp = arr[i];
            arr[i] = arr[j];
            arr[j] = temp;
            j--;
        }
        System.out.println( "倒序打印");
        for( int i = 0 ; i < arr.length ; i++){
            System.out.print(arr[i] + "\t");
        }
        System.out.println();
        System.out.println("==========================");//分割线

        //2,求平均值,最大值及其下标.
        int max = 1;
        int sum = 0;
        int ave = 0;
        int index = 0;
        for( int i = 0 ; i < arr.length ; i++){
            sum += arr[i];
            if( arr[i] > max){
                max =arr[i];
                index = i;
            }
        }
        System.out.print("平均值=" + (sum/10) + "," +
                "最大值=" + max + "," + "最大值下标=" + index);
        System.out.println();
        System.out.println("==========================");//分割线

        //3,查找里面是否有8这个数。
        int search = 8;
        int sign = -1;
        for( int i = 0 ; i < arr.length ; i++){
            if( arr[i] == search){
                System.out.println("恭喜,找到了" + search);
                sign = i;
                break;
            }
        }
        if( sign == -1){
            System.out.println("很遗憾,没有找到" + search);
        }

    }
}

数组作业——随机生成10个数,进行冒泡排序

import java.util.Scanner;
public class Learning {
    public static void main(String[] args){
        //随机生成10个数,进行冒泡排序

        int[] arr = new int[10];
//        int[] arr = {12,34, 56, 1, 90, 31, 8};
        System.out.println("数组为:");
        for( int i = 0 ; i < arr.length ; i++){
            arr[i] = (int)(Math.random() * 100 + 1 );
            System.out.print(arr[i] + "\t");
        }
        for( int j = 0 ; j< arr.length-1 ;j++){
            for( int i = 0 ; i < arr.length-1 ; i++){
                int temp = arr[i];
                if( arr[i + 1] < temp){
                    arr[i] = arr[i + 1];
                    arr[i + 1] = temp;
                }
            }
        }
        System.out.println();

        System.out.println("冒泡排序后,数组为:");
        for( int i = 0 ; i < arr.length ; i++){
            System.out.print(arr[i] + "\t");
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值