简单的猜数字(JAVA版)
JAVA 简单 数字
2023-09-27 14:28:45 时间
按书上的样例来操作的。
不过,书上提到的BUG,我没有在看下一章时就解决了哈。。
从网上查找的删除数组元素的方法。
其实,将数据结构更改为ARRAYLIST,可能更简单。:)
GameHelper.java
import java.io.*; public class GameHelper { public String GetUserInput(String prompt) { String inputLine = null; System.out.println(prompt + " "); try { BufferedReader is = new BufferedReader(new InputStreamReader(System.in)); inputLine = is.readLine(); if (inputLine.length() == 0 ) return null; } catch (IOException e) { System.out.println("IOException: " + e); return inputLine; }
SimpleDotCom.java
public class SimpleDotCom { int[] locationCells; int numOfHits = 0; public void setLocationCells(int[] locs) { locationCells = locs; public int[] delLocationCells(int eleInt) { for(int i = 0; i locationCells.length; i++) { if (eleInt == locationCells[i]) { for(int j = i + 1; j locationCells.length; j ++) { locationCells[i] = locationCells[j]; return locationCells; public String checkYourself(String stringGuess) { int guess = Integer.parseInt(stringGuess); String result = "miss"; for (int cell : locationCells) { if (guess == cell) { result = "hit"; numOfHits++; delLocationCells(guess); break; if (numOfHits == locationCells.length) { result = "kill"; System.out.println(result); return result; }
SimpleDotComTestDrive.java
public class SimpleDotComTestDrive { public static void main(String[] args) { int numOfGuesses = 0; GameHelper helper = new GameHelper(); SimpleDotCom theDotCom = new SimpleDotCom(); int randomNum = (int) (Math.random() * 5); int[] locations = {randomNum, randomNum + 1, randomNum + 2}; theDotCom.setLocationCells(locations); boolean isAlive = true; while(isAlive == true) { String guess = helper.GetUserInput("Enter a number"); String result = theDotCom.checkYourself(guess); numOfGuesses++; if(result.equals("kill")) { isAlive = false; System.out.println("You took " + numOfGuesses + " guesses."); }
输出:
Java数字黑洞给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到 一个新的数字。一直重复这样做,我们很快会停在有“数字 Java数字黑洞给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到 一个新的数字。一直重复这样做,我们很快会停在有“数字
相关文章
- 35 个 Java 代码性能优化总结
- java集合总结
- Java 8 新特性
- java一个简单小算法,求随机帽子价格去重排序
- Java使用ConcurrentHashMap实现简单的内存式缓存
- 学习Java需要自省
- 基于 Java(ssm)+bootstrsp+mysql 简单极易上手的小型图书系统【100010423】
- Java反射及依赖注入简单模拟
- Java回顾之Spring基础
- java jwt使用,springboot 整合java-jwt,java jwt工具类
- Redis操作List工具类封装,Java Redis List命令封装
- Java比较两个数组中的元素是否相同的最简单方法
- JAVA中的反射机制
- linux查看java jdk安装路径和设置环境变量
- Android SDK开发解决java.lang.NoClassDefFoundError
- 最简单的一个java驱动jdbc链接mysql数据库
- Java设计模式之创建型:工厂模式详解(简单工厂+工厂方法+抽象工厂)
- 【蓝桥杯Java组】最短路径Floyd算法原来如此简单
- Java实例---简单的上课管理系统
- Ant—使用Ant构建一个简单的Java工程(两)
- java设计模式演示样例
- 【Java】:最简单方法保留数字的第N位小数
- Java数据结构和算法day01 稀疏数组与队列
- java fileupload上传附件到服务器,可携带参数(简单易用)可跨域,看这篇就够了