JAVA随堂笔记课【二】:语言基础

数据的表示和存储模式:

  1. 基本类型和数组
  2. 结构体
  3. 带方法的结构体(类)

假定有一java类cat。
Java中开辟空间:

Cat c = new Cat();

数组的使用:

int[]a = new int[3];
int[][]b = new int[2][3];

随便模拟一个教科书式的类

/**
 * 
 */
package stu355.off003.listen;

/**
 * 一个模拟两个枪手互相设计的小游戏类
 * @author Moso31
 *
 */

class Shooter{
    String mName;
    int mHP;
    int mAmmo;

    /**
     * 枪手的构造函数
     * @param name 枪手的姓名
     * @param ammo 枪手的弹药数量
     */

    Shooter(String name, int ammo){
        mName = name;
        mHP = 100;
        mAmmo = ammo;
    }

    /**
     * 枪手向敌人射击时的触发函数
     * @param eName 敌人的名称
     */
    void shoot(Shooter eName){
        //如果没有生命值或弹药,则跳出开枪函数
        if (!checkAmmo(true)) return;

        int damage = (int) (Math.random() * 100);
        System.out.println(mName + " 向  " + eName.mName + " 开了一枪,对其造成伤害 " + damage);
        mAmmo -= 1;
        eName.mHP -= damage;
        eName.checkHP(true);
    }

    /**
     * 检查枪手是否还有生命值
     * @param 是否在控制台打印系统消息
     * @return true 枪手还能存活
     */
    boolean checkHP(boolean vol){
        if (mHP <= 0 && vol) System.out.println("枪手 " + mName + " 不慎挂掉了...");
        return mHP > 0;
    }

    /**
     * 检查枪手是否还有子弹
     * @param 是否在控制台打印系统消息
     * @return true 枪手还有子弹
     */
    boolean checkAmmo(boolean vol){
        if (mAmmo <= 0 && vol) System.out.println("枪手 " + mName + " 弹夹空了...");
        return mAmmo > 0;
    }
}

public class HomeWorkShooter {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Shooter a = new Shooter("James", 2);
        Shooter b = new Shooter("Eoviya", 3);
        while(a.checkHP(false) && b.checkHP(false) && (a.checkAmmo(false) || b.checkAmmo(false))){
            if (a.checkHP(false)) a.shoot(b);
            if (b.checkHP(false)) b.shoot(a);
        }
    }

}

模拟彩票抽奖36选7的函数

package stu355.off003.listen;

/**
 * 记录每组36选7的类。
 * @author Moso31
 *
 */
class NumberArray{
    int len = 36;
    int a[] = new int[len];
    int b[] = new int[7];

    NumberArray(){
        for(int i=0;i<len;i++) a[i] = i;
    }

    /**
     * 从剩余的数中抽取x个数
     * @param x 抽取的数的数量
     */
    void ChooseNumber(int x){
        for(int i=0;i<x;i++){
            int n = (int) (Math.random() * len);
            b[i] = a[n] + 1;
            deleteInArray(n);
        }
    }

    /**
     * 从数列中删除数x,数列抽取出一个数的时候调用
     * @param x 被删除的数
     */
    void deleteInArray(int x){
        len--;
        for(int i=x;i<len;i++) a[i] = a[i+1];
    }

    /**
     * 打印随机出来的36进7的数字
     */
    void print7Num(){
        for(int i=0;i<7;i++) System.out.print(b[i] + " ");
        System.out.println();
    }

    /**
     * 打印a数组,仅作测试之用
     */
    void print36Num(){
        for(int i=0;i<len;i++) System.out.print(a[i] + " ");
        System.out.println();
    }
}

/**
 * 36选7函数主类。
 * @author Moso31
 *
 */
public class HomeWork7in36 {

    /**
     * 承载随机数列的主函数。
     * @param args
     */
    public static void main(String args[]){
        NumberArray a = new NumberArray();
        a.ChooseNumber(7);
        a.print7Num();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值