/    1.编写类AA,定义方法max,实现求某个double数组的最大值,并返回

public class Homework09{

public static void main(String[] args) {
        
        AA aa = new AA();
        double[] arr = {10,0.5,66,75,62,42.6};
        Double res = aa.max(arr);
        if(res != null){
            System.out.println("arr最大值=" + res);
        }else{
            System.out.println("输入有误,不能为null或{}");
        }
    }
}

class AA{
    public Double max(double[] arr){

if(arr != null && arr.length > 0){
            double max = arr[0];
            for(int i = 1;i < arr.length;i++){
                if(max < arr[i]){
                    max = arr[i];
                }
            }
            return max;
        }else{
            return null;
        }
    }
}

//    2.编写类AA,定义方法find,实现查找某字符串是否在字符串数组中,并返回索引,找不到返回-1

public class Homework09{

public static void main(String[] args) {

String[] strs = {"jack","tom","mary","milan"};
        AA aa = new AA();
        int index = aa.find("huang",strs);
        System.out.println("查找的index=" + index);
    }
}

class AA{
    public int find(String findstr,String[] strs){
        for(int i = 0;i < strs.length;i++){
            if(findstr.equals(strs[i])){
                return i;
            }
        }
        return -1;
    }
}

//    3.编写类Book,定义方法updatePrice,实现更改某本书的价格
//      若价格大于150,则更改为150,若价格大于100,则更改为100,否则不变

public class Homework09{

public static void main(String[] args) {

Book book = new Book("西游记",120);
        book.info();
        book.updatePrice();
        book.info();
    }
}
class Book{
    String name;
    double price;
    public Book(String name,double price){
        this.name = name;
        this.price = price;
    }
    public void updatePrice(){
        if(this.price > 150){
            this.price = 150;
        }else if(this.price > 100){
            this.price = 100;
        }
    }
    public void info(){
        System.out.println("书名=" + this.name + "价格=" + this.price);
    }
}

//    4.定义一个圆类Circle,定义属性:半径,提供显示周长、面积的方法

public class Homework09{

public static void main(String[] args) {

Circle circle = new Circle(4);
        System.out.println("面积=" + circle.area());
        System.out.println("周长=" + circle.meter());
    }
}

class Circle{
    double radius;
    public Circle(double radius){
        this.radius = radius;
    }
    public double area(){
        return Math.PI * radius * radius;
    }
    public double meter(){
        return Math.PI * 2 * radius;

}
}

//    5.创建一个Employee类,属性为(姓名、年龄、性别、薪水、职位),提供3个构造器方法
//      初始化(职位、薪水)(性别、年龄、名字)(姓名、年龄、性别、薪水、职位)充分复用构造器

public class Homework09{

public static void main(String[] args) {

}
}

class Employee{
    String name;
    int age;
    char gender;
    double sal;
    String job;

public Employee(double sal,String job){
        this.sal = sal;
        this.job = job;
    }
    public Employee(char gender,int age,String name){
        this.gender = gender;
        this.age = age;
        this.name = name;
    }
    public Employee(double sal,String job,char gender,int age,String name){
        this(gender,age,name);
        this.sal = sal;
        this.job = job;
    }
}

/*    6.将对象作为参数传递给方法
    要求
    1.定义一个Circle类,包含一个double型的radius属性,代表圆的半径,findArea()方法返回圆面积
    2.定义一个类PassObject,在类中定义一个方法printAreas(),该方法定义如下:
      public void printAreas(Circle c,int times)
    3.在printAreas方法中打印出1到times之间的每个整数半径值及对应面积
    4.在main()调用printAreas()方法,调用完毕后输出当前半径值
*/

public class Homework09{

public static void main(String[] args) {

Circle c = new Circle();
        PassObject p = new PassObject();
        p.printAreas(c,5);
    }
}

class Circle{
    double radius;
    // public Circle(){//无参构造器

// }
    // public Circle(radius){
    //     this.radius = radius;
    // }
    public double findArea(){
        return Math.PI * radius * radius;
    }
    public void setRadius(double radius){
        this.radius = radius;
    }

}

class PassObject{
    public void printAreas(Circle c,int times){
        System.out.println("radius\tarea");
        for(int i = 1;i <= times;i++){
            c.setRadius(i);    //添加方法setRadius,修改对象半径值
            System.out.println(i + "\t" + c.findArea());
        }
    }
}

//    设计一个可以和电脑猜拳的游戏,0,1,2分别表示石头,剪刀,布,并显示玩家的输赢次数
import java.util.Random;
import java.util.Scanner;
public class Homework09{
    public static void main(String[] args) {

Player p = new Player();        //创建对象
        int isWincount = 0;                //记录输赢次数

int[][] arr1 = new int [3][3];    //创建二维数组,接收局数,玩家和电脑的出拳情况
        int j = 0;

String[] arr2 = new String[3];    //创建一维数组,接收输赢情况

Scanner scanner = new Scanner(System.in);
        for(int i = 0;i < 3;i++){
            //获取玩家出拳
            System.out.println("请输入你要出的拳(0-石头,1-剪刀,2-布)");
            int num = scanner.nextInt();
            p.setPlayerGuessNum(num);
            int playerGuess = p.getPlayerGuessNum();
            arr1[i][j+1] = playerGuess;

//获取电脑出拳
            int comGuess = p.computerNum();
            arr1[i][j+2] = comGuess;

//将玩家与电脑出拳情况做比较
            String isWin = p.vsComputer();
            arr2[i] = isWin;
            arr1[i][j] = p.count;

//对每一局情况进行输出
            System.out.println("===========================================");
            System.out.println("局数\t玩家出拳\t电脑出拳\t输赢情况");
            System.out.println(p.count + "\t" + playerGuess + "\t\t" + comGuess + "\t\t" + p.vsComputer());
            System.out.println("===========================================");
            System.out.println("\n\n");
            isWincount = p.WinCount(isWin);
        }
        //对最终结果进行输出
        System.out.println("局数\t玩家出拳\t电脑出拳\t输赢情况");
        for(int a = 0;a < arr1.length;a++){
            for(int b = 0;b < arr1[a].length;b++){
                System.out.print(arr1[a][b] + "\t\t\t");
            }
            System.out.print(arr2[a]);
            System.out.print("\n");
        }
        System.out.println("你赢了" + isWincount + "次");

}
}

class Player{
    int playerGuessNum;    //玩家出拳类型
    int comGuessNum;    //电脑出拳类型
    int winCountNum;    //玩家赢的次数
    int count = 1;        //比赛次数

public void showInfo(){

}
    //电脑随机生成数字方法
    public int computerNum(){
        Random r = new Random();
        comGuessNum = r.nextInt(3);    //返回0-2随机数
        return comGuessNum;
    }
    //玩家生成数字方法
    public void setPlayerGuessNum(int playerGuessNum){
        if(playerGuessNum > 2 || playerGuessNum < 0){
            throw new IllegalArgumentException("数字输入错误");//抛出异常
        }
        this.playerGuessNum = playerGuessNum;
    }

public int getPlayerGuessNum(){
        return playerGuessNum;
    }
    //比较猜拳结果
    public String vsComputer(){
        if(playerGuessNum == 0 && comGuessNum == 1){
            return "你赢了";
        }else if(playerGuessNum == 1 && comGuessNum == 2){
            return "你赢了";
        }else if(playerGuessNum == 2 && comGuessNum == 0){
            return "你赢了";
        }else if(playerGuessNum == comGuessNum){
            return "打平了";
        }else{
            return "你输了";
        }
    }
    //记录赢的次数
    public int WinCount(String s){
        count++;
        if(s.equals("你赢了")){
            winCountNum++;
        }
        return winCountNum;
    }
}

0031 练习(猜拳游戏)相关推荐

  1. java猜拳游戏代码

    猜拳游戏: import java.util.Scanner; public class Scissors_Stone_Cloth{public static void main(String[] a ...

  2. java猜拳_求一个java猜拳游戏程序

    展开全部 package test; import java.util.Random; import java.util.Scanner; /** * 猜拳游戏思路 * 1.定义输入函数 * 2.提示 ...

  3. c语言猜拳游戏中出现的关键词,C语言猜拳游戏代码及分析

    赋值操作符.比较操作符.算术操作符.逻辑操作符.位域操作符,如"="."+="">="."<="." ...

  4. python猜拳游戏三局两胜制_猜拳游戏三局两胜------java实现代码

    package com.javasm.exerices02; import java.util.ArrayList; import java.util.List; import java.util.R ...

  5. java游戏输赢统计_java利用多线程和Socket实现猜拳游戏

    本文实例为大家分享了利用多线程和Socket实现猜拳游戏的具体代码,供大家参考,具体内容如下 实例:猜拳游戏 猜拳游戏是指小时候玩的石头.剪刀.布的游戏.客户端与服务器的"较量", ...

  6. python制作猜拳游戏代码_python实现猜拳游戏项目

    本文实例为大家分享了python实现猜拳游戏的具体代码,供大家参考,具体内容如下 项目功能: 1.系统生成随机的石头剪刀布,玩家输入石头剪刀布 2.因为玩家可能会输入shitou st这样的输入,需要 ...

  7. php编写猜拳游戏,Python中猜拳游戏与猜筛子游戏的实现方法

    猜拳游戏 import random player_input=input("请输入(0剪刀,1石头,2布):") player=int(player_input) compute ...

  8. JS写的一个猜拳游戏

    const readline = require("readline-sync"); console.log("欢迎来到猜拳游戏:"); console.log ...

  9. C/C++人机猜拳游戏

    该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处 本文章博客地址:https://cplusplus.blog.csdn.net/article/details/105163971 C ...

  10. python与java的猜拳游戏

    python版: import randomprint("-----猜拳游戏-----")print("---0.剪刀--1.石头--2.布---")while ...

最新文章

  1. 什么是棉绒,它如何节省您的时间?
  2. 华为java安全编码规范_Java安全编码之SQL注入
  3. 返回当前文档的文档的url
  4. 基于当前分支的某一个commit号创建分支
  5. Ubuntu中文输入法崩溃问题(候选框乱码)
  6. 枚举操作的常用方法,包括获得枚举的value,name,description
  7. #,#x,\u开头的unicode介绍
  8. java url参数转换:_提示:通过URL激活并发送参数
  9. ds18b20c语言显示小数位,DS18B20多点测温(读序列,匹配序列,51单片机C程序,1602显示)...
  10. 记模拟面试日记2(更新...)
  11. [转]关于ORA-00979 不是 GROUP BY 表达式错误的解释
  12. PDFsam Basic for mac(合并拆分PDF文档)支持m1
  13. [20190213]学习bbed-恢复删除的数据.txt
  14. Monitor HDU6514 二维差分入门学习
  15. ae教程 (三)三维空间合成(一)
  16. 网站百度竞价有展现,点击无咨询原因
  17. 最新wxid转扫一扫添加好友
  18. ensp 交换机与路由器ospf_华为三层交换机和路由器建立OSPF关系
  19. 元数据管理器中存在错误
  20. 金融数据挖掘(一):A股上市公司2021年年报

热门文章

  1. stm32结合TFLCD编程遇到的问题之.\Objects\EXTI_Project.axf: Error: L6218E: Undefined symbol POINT_COLOR (referre
  2. LVGL8的窗口切换方式
  3. 《果然新鲜》电商项目(25)- 会员唯一登录
  4. Android一点 play商店地区与语言设置
  5. 至简设计系列_按键控制数字时钟
  6. Xorg Drivers
  7. cgb2107-day07
  8. Andorid APK反逆向解决方案---梆梆加固原理探寻
  9. 如何解决光纤熔接过程中遇到这六大问题?
  10. 极米H3S和坚果J10S对比,5000元投影仪到底哪个好?