บทความนี้อธิบายถึงเกมคาดเดาจำนวน Java แบ่งปันสำหรับการอ้างอิงของคุณดังนี้:
นี่คือรหัสการคาดเดาภาษา Java กระบวนการนี้มีดังนี้:
ตัวอย่างเช่น: การสร้างคือ 0369 และอินพุตของผู้ใช้คือ 0396 ซึ่งแสดง 2A2B สองตำแหน่งถูกต้องและตัวเลขถูกต้องและอีกสองตำแหน่งถูกต้องและตำแหน่งไม่ถูกต้อง
รหัส Java:
แพ็คเกจ com.example.test; นำเข้า java.util.random; นำเข้า java.util.scanner; NumberCode คลาสสาธารณะ {int [] nums = new int [4]; int [] inputNumsarray = new int [4]; int transterylevel; ความยากลำบาก int aa = 0; int bb = 0; String numberstr = ""; string str = ""; / *** สร้างตัวเลขสุ่ม*/ public int [] randnums (int n) {สำหรับ (int i = 0; i <nums.length; i ++) {สุ่ม ran = new random (); int a = ran.nextint (10); if (i -1! = -1) {สำหรับ (int j = 0; j <i; j ++) {ถ้า (a == nums [j]) {i--; หยุดพัก; } else {nums [i] = a; }}} else {nums [i] = a; }} ส่งคืน nums; } / *** เลือกความยากของเกม* / public int selectlevel () {// ยอมรับหมายเลข // 1: ง่ายสามารถเดาได้ 12 ครั้ง // 2: ทั่วไปสามารถเดาได้ 9 ครั้ง // 3: ยากคุณสามารถเดาได้ 7 ครั้ง @Suppresswarnings ("ทรัพยากร") สแกนสแกนเนอร์ System.out .println ("โปรดเลือกค่าสัมประสิทธิ์ความยาก (ป้อนหมายเลข), 1: ง่ายสามารถเดาได้ 12 ครั้ง; 2: ทั่วไปสามารถเดาได้ 9 ครั้ง; 3: ยากสามารถเดาได้ 7 ครั้ง"); ความยาก = scan.nextint (); สวิตช์ (ความยาก) {กรณีที่ 1: ยากระดับ = 12; หยุดพัก; กรณีที่ 2: turblelevel = 9; หยุดพัก; กรณีที่ 3: turblelevel = 7; หยุดพัก; ค่าเริ่มต้น: break; } return tworterlevel; } / *** ยอมรับการป้อนหมายเลขโดยผู้ใช้* / public int [] inputNums (int n) {@suppresswarnings ("ทรัพยากร") สแกนสแกนเนอร์ = สแกนเนอร์ใหม่ (System.in); int b = scan.nextint (); สำหรับ (int i = 0; i <inputnumsarray.length; i ++) {int c = (int) ((int) b / math.pow (10, 3 - i)); InputNumsArray [i] = C; b = (int) (b - c * math.pow (10, (3 - i))); } return inputnumsarray; } / *** วิธีการเปรียบเทียบหมายเลข* / สตริงสาธารณะเปรียบเทียบ (int [] คำตอบ, int [] อินพุต) {สำหรับ (int i = 0; i <ansers.length; i ++) {ถ้า (อินพุต [i] == คำตอบ [i]) {aa+= 1; ดำเนินการต่อ; } else {สำหรับ (int j = 0; j <answer.length; j ++) {ถ้า (อินพุต [i] == คำตอบ [j]) {bb+= 1; }}}} str = "" + aa + "a" + bb + "b"; return str; } / *** รหัสกระบวนการเกมทั้งหมด* / Public Void Play () {Randnums (4); สำหรับ (int i = 0; i <nums.length; i ++) {numberstr = numberstr+nums [i]; } selectLevel (); System.out.println ("คุณเลือกค่าสัมประสิทธิ์ความยาก:" + ความยาก + "ทั้งหมด:" + thoritylevel + "เวลาแห่งโอกาส"); สำหรับ (int i = 0; i <thoughylevel; i ++) {inputnums (4); int chancenums = thoritylevel - i - 1; เปรียบเทียบ (nums, inputnumsarray); if (aa! = 4) {if (aa == 0) {system.out.println ("โอกาสที่จะหมดแล้วคำตอบคือ:" + numberstr); หยุดพัก; } else {system.out.println (str + "คุณยังมี" + chancenums + "โอกาสครั้ง"); } aa = 0; bb = 0; } อื่นถ้า (aa == 4) {system.out.println ("ขอแสดงความยินดีคุณตอบอย่างถูกต้อง"); หยุดพัก; }}} โมฆะคงที่สาธารณะหลัก (String [] args) {numberCode a = new NumberCode (); a.play (); -ผลการทำงาน:
โปรดเลือกค่าสัมประสิทธิ์ความยาก (ป้อนหมายเลข), 1: ง่ายสามารถเดาได้ 12 ครั้ง 2: ทั่วไปสามารถเดาได้ 9 ครั้ง 3: ยากสามารถเดาได้ 7 ครั้ง
1
คุณเลือกค่าสัมประสิทธิ์ความยาก: 1 มีโอกาสทั้งหมด 12 ครั้ง
0123
0a 2b คุณมีโอกาส 11 ครั้ง
2345
2a 0b คุณมีโอกาสอีก 10 ครั้ง
5678
2a 0b คุณมีโอกาส 9 ครั้ง
7890
0a 2b คุณมีโอกาส 8 ครั้ง
2378
ขอแสดงความยินดีคุณได้รับคำตอบที่ถูกต้อง
เอฟเฟกต์การดำเนินการมีดังนี้:
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับอัลกอริทึม Java ผู้อ่านที่มีความสนใจในเว็บไซต์นี้สามารถดูหัวข้อ: "สรุปทักษะการดำเนินงานทางคณิตศาสตร์ Java", "บทเรียนของโครงสร้างข้อมูล Java และอัลกอริทึม", "สรุปทักษะการดำเนินงานของ Java
ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม Java ของทุกคน