0031 练习(猜拳游戏)
/ 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 练习(猜拳游戏)相关推荐
- java猜拳游戏代码
猜拳游戏: import java.util.Scanner; public class Scissors_Stone_Cloth{public static void main(String[] a ...
- java猜拳_求一个java猜拳游戏程序
展开全部 package test; import java.util.Random; import java.util.Scanner; /** * 猜拳游戏思路 * 1.定义输入函数 * 2.提示 ...
- c语言猜拳游戏中出现的关键词,C语言猜拳游戏代码及分析
赋值操作符.比较操作符.算术操作符.逻辑操作符.位域操作符,如"="."+="">="."<="." ...
- python猜拳游戏三局两胜制_猜拳游戏三局两胜------java实现代码
package com.javasm.exerices02; import java.util.ArrayList; import java.util.List; import java.util.R ...
- java游戏输赢统计_java利用多线程和Socket实现猜拳游戏
本文实例为大家分享了利用多线程和Socket实现猜拳游戏的具体代码,供大家参考,具体内容如下 实例:猜拳游戏 猜拳游戏是指小时候玩的石头.剪刀.布的游戏.客户端与服务器的"较量", ...
- python制作猜拳游戏代码_python实现猜拳游戏项目
本文实例为大家分享了python实现猜拳游戏的具体代码,供大家参考,具体内容如下 项目功能: 1.系统生成随机的石头剪刀布,玩家输入石头剪刀布 2.因为玩家可能会输入shitou st这样的输入,需要 ...
- php编写猜拳游戏,Python中猜拳游戏与猜筛子游戏的实现方法
猜拳游戏 import random player_input=input("请输入(0剪刀,1石头,2布):") player=int(player_input) compute ...
- JS写的一个猜拳游戏
const readline = require("readline-sync"); console.log("欢迎来到猜拳游戏:"); console.log ...
- C/C++人机猜拳游戏
该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处 本文章博客地址:https://cplusplus.blog.csdn.net/article/details/105163971 C ...
- python与java的猜拳游戏
python版: import randomprint("-----猜拳游戏-----")print("---0.剪刀--1.石头--2.布---")while ...
最新文章
- 什么是棉绒,它如何节省您的时间?
- 华为java安全编码规范_Java安全编码之SQL注入
- 返回当前文档的文档的url
- 基于当前分支的某一个commit号创建分支
- Ubuntu中文输入法崩溃问题(候选框乱码)
- 枚举操作的常用方法,包括获得枚举的value,name,description
- #,#x,\u开头的unicode介绍
- java url参数转换:_提示:通过URL激活并发送参数
- ds18b20c语言显示小数位,DS18B20多点测温(读序列,匹配序列,51单片机C程序,1602显示)...
- 记模拟面试日记2(更新...)
- [转]关于ORA-00979 不是 GROUP BY 表达式错误的解释
- PDFsam Basic for mac(合并拆分PDF文档)支持m1
- [20190213]学习bbed-恢复删除的数据.txt
- Monitor HDU6514 二维差分入门学习
- ae教程 (三)三维空间合成(一)
- 网站百度竞价有展现,点击无咨询原因
- 最新wxid转扫一扫添加好友
- ensp 交换机与路由器ospf_华为三层交换机和路由器建立OSPF关系
- 元数据管理器中存在错误
- 金融数据挖掘(一):A股上市公司2021年年报
热门文章
- stm32结合TFLCD编程遇到的问题之.\Objects\EXTI_Project.axf: Error: L6218E: Undefined symbol POINT_COLOR (referre
- LVGL8的窗口切换方式
- 《果然新鲜》电商项目(25)- 会员唯一登录
- Android一点 play商店地区与语言设置
- 至简设计系列_按键控制数字时钟
- Xorg Drivers
- cgb2107-day07
- Andorid APK反逆向解决方案---梆梆加固原理探寻
- 如何解决光纤熔接过程中遇到这六大问题?
- 极米H3S和坚果J10S对比,5000元投影仪到底哪个好?