jave基础(4)

例题

1.找质数

public class Main1 {
    public static void main(String[] args){
        int count = 0;
    for(int i = 101;i < 201;i++){
        boolean flag = true;
        //j从2开始,任何书对1取余都是0,所以从2开始
        for(int j = 2;j < i;j++){
            if(i % j == 0){
                flag = false;
                break;
            }
        }
        if(flag){
            System.out.println(i + "是质数");
            count++;
        }
    }
    System.out.println("共有" + count +"个质数");
    }
}

2.评委打分

import java.util.Scanner;

public class Main1 {
    public static void main(String[] args){
        //定义一个数组,用来储存6为评委打分
        int[] scoreArr = getScores();
        for(int i = 0;i < scoreArr.length;i++){
            System.out.println(scoreArr[i]);
        }
        //求出数组最小值
        int min = getMin(scoreArr);
        //求出数组最大值
        int max = getMax(scoreArr);
        //求出数组中6个分数的总和
        int sum = getSum(scoreArr);
        //求出去掉最高分和最低分后的平均成绩
        int avg = (sum - max -min) / (scoreArr.length - 2);
        System.out.println("打分为: " + avg);
        }
        //6位评委的分数
        public static int[] getScores(){
        int[] scores = new int[6];
            Scanner sc = new Scanner(System.in);
            for(int i = 0;i < scores.length;){
                System.out.println("请输入成绩: ");
                int score = sc.nextInt();
                if(score >= 0 && score <= 100){
                    scores[i] = score;
                    i++;
                }
                else {
                    System.out.println("请重新输入0 ~100,当前i为" + i);
                }
            }
            return scores;
        }
        //求数组的最大值
        public static int getMax(int[] scoreArr){
        int max = scoreArr[0];
        for(int i = 0;i < scoreArr.length;i++){
            if(scoreArr[i] > max ){
                max = scoreArr[i];
            }
        }
        return max;
        }
        //求数组的最小值
    public static int getMin(int[] scoreArr){
        int min = scoreArr[0];
        for(int i = 0;i < scoreArr.length;i++){
            if(scoreArr[i] < min ){
                min = scoreArr[i];
            }
        }
        return min;
    }
    //求数组的总和
    public static int getSum(int[] scoreArr){
        int sum = 0;
        for(int i = 0;i < scoreArr.length;i++){
            sum = sum + scoreArr[i];
        }
        return sum;
    }
    }



二维数组

静态

动态

public class Main1 {
    public static void main(String[] args){
    //每个季度的营业额
        int[][] yearSum = {
                {22,66,44},
                {77,33,88},
                {25,45,65},
                {11,66,99}
        };
        int yearSumSum = 0;
        for(int i = 0;i < yearSum.length;i++){
            //计算每个季度的总营业额
            int[] quarterSum = yearSum[i];
            int sum = getSum(quarterSum);
            System.out.println("第" + (i + 1) + "季度的总营业额为:" + sum + "元");
            //计算全年总营业额
            yearSumSum = yearSumSum + sum;
        }
        System.out.println("全年总营业额为:" + yearSumSum + "元");
    }
    //每个季度营业额的和
    public static int getSum(int[] arr){
        int sum = 0;
        for(int i = 0;i < arr.length;i++){
            sum = sum + arr[i];
        }
        return sum;
    }
}

类 对象

类 对象

private

 谁近用谁

若两个age

System.out.println(age);为public的

this.age为private的

 快捷键:

//alt + insert

//alt + Fn + insert

再constructor   ctrl a(全选) OK

select None 为空参

get 和 set

快捷键 再Getter and Setter ctrl a(全选) OK

ptg

直接右键,点击倒数第三个(ptg to javabean)

两个引用指向同一个对象

两个变量指向同一个空间,只要有其中一个变量对这个空间里的值发生了改变,那么其他变量再次访问的时候,就是改变后的结果

拳皇游戏

import java.util.Random;

public class Role{
   private String name;
   private int blood;

   public Role(){

   }
   public Role(String name,int blood){
       this.name = name;
       this.blood = blood;
   }
   public String getName(){
       return name;
   }
   public void setName(String name){
       this.name = name;

   }
   public int getBlood(){
       return blood;
   }
   public void setBlood(int blood){
       this.blood = blood;
   }
   //定义一个方法用于攻击别人
    //让方法的调用者去攻击参数
    public void attack(Role role){
       //制定造成的伤害1 ~ 20
        Random r = new Random();
        int hurt = r.nextInt(20) + 1;
        //修改剩余血量
        int remainBlood = role.getBlood() - hurt;
        //若剩余血量为负数,修改为0
        remainBlood = remainBlood < 0 ? 0 : remainBlood;
        //修改挨揍人的血量
        role.setBlood(remainBlood);
        //this表示方法的调用者
        System.out.println(this.getName() + "举起拳头打了" + role.getName() + "一拳,造成了" + hurt + "点的伤害," + role.getName() + "还剩下" + remainBlood + "点的血");

    }
}
public class GameTest {
    public static void main(String[] args){
    //创建第一个角色
        Role r1 = new Role("乔峰",100);
        //创建第二个角色
        Role r2 = new Role("鸠摩智",100);
        //开始格斗回合制游戏
        while(true){
            //r1攻击r2
            r1.attack(r2);
            if(r2.getBlood() == 0){
    System.out.println(r1.getName() + "KO" + r2.getName());
            break;
            }
            //r2攻击r1
            r2.attack(r1);
            if(r1.getBlood() == 0){
                System.out.println(r2.getName() + "KO" + r1.getName());
            break;
            }
        }
    }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值