java实现的简单猜数字游戏代码,通过随机数与逻辑判断来实现游戏功能 代码如下: import java.util.InputMismatchException; import java.util.Scanner; public class Main { public static void main(String[] args) { // 产生一个随机数 int n
import javax.swing.UIManager;
public class MainClass
{
public MainClass()
}
public static void main(String args[])
try
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
catch (Exception exception) { }
new NumGuessing();
import java.util.ArrayList;
public class Methods
public Methods()
public static int[] RandomNum()
ArrayList Temp = new ArrayList();
guessNum[i] = -1;
do
float tempNum = (float)Math.random() * 10F;
guessNum[i] = 0;
else
guessNum[i] = Math.round(tempNum);
} while (Temp.contains(Integer.valueOf(guessNum[i])));
Temp.add(Integer.valueOf(guessNum[i]));
return guessNum;
public static boolean CheckIsFourNum(String enterString)
boolean IsFourNum = true;
Integer.valueOf(enterString);
catch (NumberFormatException e)
IsFourNum = false;
return IsFourNum;
public static String GetResult(int Num[], String enterString)
String resultString = "";
int rightInAll = 0;
int rightOnlyInNum = 0;
rightInAll++;
if (Num[i] == Integer.valueOf(enterString.substring(j, j + 1)).intValue())
rightOnlyInNum++;
resultString = (new StringBuilder(String.valueOf(rightInAll))).append("A").append(rightOnlyInNum).append("B").toString();
return resultString;
public static boolean IsGuessed(String guessString, String guessedStrings[])
boolean isGuessed = false;
for (int i = 0; i guessedStrings.length; i++)
if (guessString.equals(guessedStrings[i]))
isGuessed = true;
return isGuessed;
public static boolean HasSameNum(String guessString)
boolean hasSameNum = false;
for (int i = 0; i guessString.length(); i++)
for (int j = 0; j guessString.length(); j++)
if (i == j || !guessString.substring(i, i + 1).equals(guessString.substring(j, j + 1)))
continue;
hasSameNum = true;
break;
return hasSameNum;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class NumGuessing
implements ActionListener
private JFrame frame;
private JPanel centerJPanel;
private JPanel southJPanel;
private JTextArea showArea;
private JTextField guessField;
private JButton commitJButton;
private Font font;
private boolean isOver;
private int guessTimeCount;
private int guessingNum[];
private String guessedNum[];
public NumGuessing()
isOver = false;
guessTimeCount = 0;
guessedNum = new String[10];
frame = new JFrame("NumGuessing");
centerJPanel = new JPanel();
southJPanel = new JPanel();
showArea = new JTextArea("以下是你猜数字的结果:\n");
showArea.setFont(font);
showArea.setEnabled(false);
guessField.setFont(font);
commitJButton = new JButton("Enter");
commitJButton.setFont(font);
frame.setLayout(new BorderLayout());
centerJPanel.add(showArea);
southJPanel.add(guessField);
southJPanel.add(commitJButton);
frame.add(centerJPanel, "Center");
frame.add(southJPanel, "South");
frame.validate();
frame.setResizable(false);
frame.setVisible(true);
commitJButton.addActionListener(this);
guessingNum = Methods.RandomNum();
public void actionPerformed(ActionEvent e)
String guessString = guessField.getText();
if (!isOver guessTimeCount 10)
if (Methods.CheckIsFourNum(guessString))
if (!Methods.IsGuessed(guessString, guessedNum))
if (!Methods.HasSameNum(guessString))
showArea.append((new StringBuilder(String.valueOf(guessString))).append(" ").toString());
showArea.append((new StringBuilder(String.valueOf(Methods.GetResult(guessingNum, guessString)))).append("\n").toString());
guessField.setText(null);
guessedNum[guessTimeCount] = guessString;
guessTimeCount++;
isOver = true;
JOptionPane.showMessageDialog(null, "You Are The Winner");
if (guessTimeCount = 10)
JOptionPane.showMessageDialog(null, "你应经猜了十次,输了!");
} else
JOptionPane.showMessageDialog(null, "你输入的数中有相同的数字,请重新填写.");
JOptionPane.showMessageDialog(null, "这个数字你已经猜过了!");
JOptionPane.showMessageDialog(null, "请输入一个四位数字");
guessField.setEnabled(false);
import?java.util.Scanner;
//猜字符游戏
public?class?GuessingGame?{
//主方法
public?static?void?main(String[]?args)?{
Scanner?scan?=?new?Scanner(System.in);
int?count?=?0;?//猜错的次数
char[]?chs?=?generate();?//随机生成的字符数组
System.out.println(chs);?//作弊
while(true){?//自造死循环
System.out.println("猜吧!");
String?str?=?scan.next().toUpperCase();?//获取用户输入的字符串
if(str.equals("EXIT")){?//判断str是否是EXIT
System.out.println("下次再来吧!");
char[]?input?=?str.toCharArray();?//将字符串转换为字符数组
int[]?result?=?check(chs,input);?//对比
int?score?=?chs.length*100?-?count*10;?//一个字符100分,错一次减10分
System.out.println("恭喜你猜对了,得分:"?+?score);
break;?//猜对时跳出循环
}else{?//没猜对
count++;?//猜错次数增1
System.out.println("字符对:"+result[1]+"个,位置对:"+result[0]+"个");
public?static?char[]?generate(){
char[]?letters?=?{?'A',?'B',?'C',?'D',?'E',?'F',?'G',?'H',?'I',?'J',
'K',?'L',?'M',?'N',?'O',?'P',?'Q',?'R',?'S',?'T',?'U',?'V',
'W',?'X',?'Y',?'Z'};
boolean[]?flags?=?new?boolean[letters.length];?//1.
for(int?i=0;ichs.length;i++){
int?index;
do{
chs[i]?=?letters[index];
return?chs;
//对比随机数组与用户输入的数组
public?static?int[]?check(char[]?chs,char[]?input){
for(int?j=0;jinput.length;j++){
if(chs[i]==input[j]){?//字符对
result[1]++;?//字符对个数增1
if(i==j){?//位置对
result[0]++;?//位置对个数增1
return?result;
以上就是土嘎嘎小编为大家整理的java代码数组猜数游戏相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!