猜数组游戏java代码 java数组猜数游戏( 二 )


b3.addActionListener(this);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(330,250);
setVisible(true);
}
public void fill(int[] a,int b){//给数组填充不同的1到b的数字
for(int i=0;ia.length;i++){
a[i]=(int)(Math.random()*b+1);
while(true){
if(in_it(a[i],a,i))a[i]=(int)(Math.random()*b+1);
else break;
}
}
}
public boolean in_it(int num,int[] before,int n){//判断num是否在数组before的前n项内
for(int i=0;in;i++)
if(num==before[i])return true;
return false;
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==b1){
count++;
String s=jtf.getText();
if(s.length()!=4)jl2.setText("格式错误");
else {
A=0;B=0;
for(int i=0;i4;i++)
for(int j=0;j4;j++)
if((s.charAt(i)-'0')==right[j])
{
if(i==j)A++;
else B++;
}
if(A==4){jl2.setText("RIGHT!猜了"+count+"次");
count=0;
}
else jl2.setText("提示:"+A+"A"+B+"B");
}
}
if(e.getSource()==b2){
fill(right,9);
jtf.setText("");
jl2.setText("");
}
if(e.getSource()==b3){
jl2.setText(Arrays.toString(right));
}
}
public static void main (String[] args) {
new GuessNum();
}
}
求教Java达人:用java编写一个猜数字游戏package com.zuxia.cg.guest;
import java.util.Random;
import java.util.Scanner;
/**
* 猜数游戏 系统自动生成4个0-9猜数组游戏java代码的不重复数 用户猜 数字和系统生成的数是一样且位置相同就在数那个位置输出a猜数组游戏java代码,数相同但位置不同 , 则在数那个位置输出b
* 其猜数组游戏java代码他数字不变
*
* @author student
*
*/
public class test {
/**
* 产生不重复的随机数
*
* @return 一个数组
*/
public int[] rand() {
int[] array = new int[4];
Random rd = new Random();
for (int i = 0; i4; i++) {
array[i] = rd.nextInt(10);
for (int j = 0; ji; j++) {
if (array[j] == array[i]) {
i--;
break;
}
}
}
return array;
}
/**
* 对产生的随机数组和用户的输入进行比较
* 对于数组位置和数字都一样的用‘a’代替,对于数组位置不同的但数字一样的用‘b’代替,并统计‘a’,‘b’的数量
*
* @param array
* @return 一个字符串
*/
public String get(int[] array) {
for (int i = 0; i4; i++) {
System.out.println(array[i]);//输出系统生成的随机数
}
int[] list = new int[4];
Scanner scan = new Scanner(System.in);
System.out.print("请输入猜数组游戏java代码:");
for (int i = 0; i4; i++) {
list[i] = scan.nextInt();
}
for (int i = 0; i4; i++) {
for (int j = 0; j4; j++) {
if (array[i] == list[j]) {
if (i == j) {
list[j] = 'a';
} else
list[j] = 'b';
}
}
}
int m = 0;
int n = 0;
for (int i = 0; i4; i++) {
if (list[i] == 'a') {
m++;
} else if (list[i] == 'b') {
n++;
}
}
n = m + n;
System.out.print("\n" + m + "A" + n + "B\n");
return m + "A" + n + "B";
}
public static void main(String[] args) {
test test = new test();
int[] array = test.rand();
if (test.get(array).equals("4A4B")) {
} else {
while (!test.get(array).equals("4A4B")) {
test.get(array);
}
}
}
}
Java猜数字游戏,事先随机给出3个100以内的正确答案,然后再输入100以内的数字猜,这个用数组怎么做呢?Random r = new Random();
int num[] = new int[3];
for(int i = 0;i3;i++){

推荐阅读