数组经典例题

一:
package day05;
import java.util.Scanner;
//随机加法运算器
public class Addition {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int score = 0; //总分
        for(int i=1;i<=10;i++) { //10次
            int a = (int)(Math.random()*100); //加数a
            int b = (int)(Math.random()*100); //加数b
            int result = a+b; //存和
            System.out.println("("+i+")"+a+"+"+b+"=?"); //1.出题
            System.out.println("算吧!");
            int answer = scan.nextInt(); //2.答题
            if(answer==-1) { //3.判题
                System.out.println("下次再来吧!");
                break;
            }
            if(answer==result) { 
                System.out.println("答对了");
                score += 10; //答对1题加10分
            }else {
                System.out.println("答错了");
            }
        }
        System.out.println("总分为:"+score);
    }
}
二:
package day05;
//数组的演示
public class ArrayDemo {
    public static void main(String[] args) {
        /*
         * 数组的练习:
         * 1)声明整型数组arr1,包含10个元素
         * 2)声明整型数组arr2,并直接将元素初始化为5,8,6
         *   声明整型数组arr3,先new再将元素初始化为5,8,6
         * 3)声明整型数组arr,包含3个元素
         *     给arr中的第1个元素赋值为100
         *     给arr中的第2个元素赋值为200
         *     给arr中的第3个元素赋值为300
         *     arr[3] = 400;-----------------???
         *     输出arr的长度
         *     输出arr中最后一个元素的值(下标不能写死)
         * 4)创建类MaxOfArray,在main中:
         *   4.1)声明整型数组arr,包含10个元素
         *   4.2)遍历arr,给每个元素赋值为0到99之间的随机数
         *   4.3)遍历arr,输出每个元素的值
         */
        

        //1.数组的定义:
        int[] arr1 = new int[10];
        
        //2.数组的初始化:
        int[] arr2 = new int[3]; //0,0,0
        int[] arr3 = {1,4,6}; //1,4,6
        int[] arr4 = new int[] {1,4,6}; //1,4,6
        int[] arr5;
        //arr5 = {1,4,6}; //编译错误,此方式只能声明同时初始化
        arr5 = new int[] {1,4,6}; //正确
        
        //3.数组的访问:
        int[] arr = new int[3];
        System.out.println(arr.length); //3
        arr[0] = 100; //给arr中第1个元素赋值为100
        arr[1] = 200; //给arr中第2个元素赋值为200
        arr[2] = 300; //给arr中第3个元素赋值为300
        //arr[3] = 400; //数组下标越界异常
        System.out.println(arr[arr.length-1]); //输出最后一个元素的值
        
        //4.数组的遍历:
        int[] as = new int[10];
        for(int i=0;i             as[i] = (int)(Math.random()*100);
        }
        for(int i=0;i             System.out.println(as[i]);
        }
        
    }
}
三:
package day05;
//for循环的演示
public class ForDemo {
    public static void main(String[] args) {
        //累加1到100的和,只要个位不为3的
        int sum = 0;
        for(int num=1;num<=100;num++) {
            if(num%10!=3) {
                sum = sum+num;
            }
        }
        System.out.println("sum="+sum);
        
        
        
        
        /*
        //累加1到100的和,跳过个位为3的
        int sum = 0;
        for(int num=1;num<=100;num++) {
            if(num%10==3) {
                continue;
            }
            sum = sum+num;
        }
        System.out.println("sum="+sum);
        */
        /*
         *       sum=0
         * num=1 sum=1
         * num=2 sum=1+2
         * num=3
         * num=4 sum=1+2+4
         * ...
         * num=13
         */

        
        /*
        int sum = 0;
        for(int num=1;num<=100;num++) {
            if(sum>=4000) {
                break; //跳出for循环,而不是跳出if
            }
            sum = sum+num;
        }
        System.out.println("sum="+sum);
        */
        
        
        /*
        int sum = 0;
        int num=1;
        for(;num<=100;num++) {
            sum = sum+num;
        }
        System.out.println("sum="+sum);
        */
        
        /*
        int sum = 0;
        for(int num=1;num<=100;) {
            sum = sum+num;
            num++;
        }
        System.out.println("sum="+sum);
        */
        
        /*
        for(;;) { //死循环
            System.out.println("我要学习...");
        }
        */
        
        /*
        for(int i=1,j=6;i<5;i+=2,j-=2) {
        }
        */
        /*
         * i=1,j=6
         * i=3,j=4
         * i=5,j=2
         */

        
        /*
        //累加:1+2+3+4+...+99+100=?
        int sum = 0; //和
        for(int num=1;num<=100;num++) {
            sum = sum+num;
        }
        System.out.println("sum="+sum);
        */
        /*
         *       sum=0
         * num=1 sum=1
         * num=2 sum=1+2
         * num=3 sum=1+2+3
         * num=4 sum=1+2+3+4
         * ...
         * num=100 sum=1+2+3+4+...+100
         * num=101
         */
        

        
        /*
        for(int times=0;times<10;times++) {
            System.out.println("行动是成功的阶梯");
        }
        
        for(int num=1;num<=9;num++) {
            System.out.println(num+"*9="+num*9);
        }
        
        for(int num=9;num>=1;num--) {
            System.out.println(num+"*9="+num*9);
        }
        */
    }
}

四:
package day05;
//作业讲解
public class Homework {
    public static void main(String[] args) {
        //2.根据年份和月份,计算天数
        int year = 2001; //年份
        int month = 1; //月
        int days = 0; //天数
        switch(month) {
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            days = 31;
            break;
        case 4:
        case 6:
        case 9:
        case 11:
            days = 30;
            break;
        case 2:
            if((year%4==0 && year%100!=0) || year%400==0) {
                days = 29;
            }else {
                days = 28;
            }
        }
        System.out.println("days="+days);

        
        /*
        //1.计算个人所得税:
        double salary = 10000.0; //工资
        double taxSalary = salary-3500; //计税工资
        double tax = 0.0; //税
        if(taxSalary<=0) {
            tax = 0; //不纳税
        }else if(taxSalary<=1500) {
            tax = taxSalary*0.03-0;
        }else if(taxSalary<=4500) {
            tax = taxSalary*0.1-105;
        }else if(taxSalary<=9000) {
            tax = taxSalary*0.2-555;
        }
        System.out.println("tax="+tax);
        */
        
    }
}
五:
package day05;
//求数组元素的最大值
public class MaxOfArray {
    public static void main(String[] args) {
        int[] arr = new int[10];
        for(int i=0;i             arr[i] = (int)(Math.random()*100);
            System.out.println(arr[i]);
        }
        
        int max = arr[0]; //假设第1个元素为最大值
        for(int i=1;i             if(arr[i]>max) { //若剩余元素大于max
                max=arr[i];  //修改max的值为较大的
            }
        }
        System.out.println("最大值为:"+max);
        
    }
}
六:
package day05;
//九九乘法表
public class MultiTable {
    public static void main(String[] args) {
        for(int num=1;num<=9;num++) { //控制行
            for(int i=1;i<=num;i++) { //控制列
                System.out.print(i+"*"+num+"="+i*num+"\t");
            }
            System.out.println(); //换行
        }
        /*
         * num=3
         *   i=1 1*3=3
         *   i=2 2*3=6
         *   i=3 3*3=9
         *   i=4
         *   换行
         * num=2
         *   i=1 1*2=2
         *   i=2 2*2=4
         *   i=3
         *   换行
         * num=1
         *   i=1 1*1=1
         *   i=2 
         *   换行
         */
        
    }
}

你可能感兴趣的:(数组经典例题)