老师留的JAVA体育彩票作业!有个问题求高人指点!import java.util.*;
public class Person {
int zu[]=new int[7];
Scanner input=new Scanner(System.in);
public void hao(){
System.out.println("请输入7个号码:");
for(int i=0;i<zu.length;i++){
zu[i]=input.nextInt(); //接收输入的号码
for(int j=0;j<i;j++){
if(zu[i]==zu[j]){
System.out.println("输入错误,请输入一个不重复的数!");
System.out.println("请重新输入此数:");
i--;
break;
}else if(zu[i]>10||zu[i]<=0){
System.out.println("输入错误,请输入一个大于10切小于0的整数!");
System.out.println("请重新输入此数:");
i--;
break;
}
}
}
}
}
public class YaoJiang {
int zu[]=new int[7];
int ci=0; //中奖号码数
public int chou(){
int sui=(int)(Math.random()*10)+1; //产生一个随机数
return sui;
}
public void kaiShi(){
for(int i=0;i<zu.length;i++){
zu[i]=chou();
//循环判断到此数之前的数有没有相等的
for(int j=0;j<i;j++){
if(zu[i]==zu[j]){
i--; //有相等的则重新抽取
break;
}
}
}
jieGuo();
}
//出问题部分,每次pp.zu[j]都等于0,而用main方法里调用就可以
public void jieGuo(){
Person pp=new Person();
for(int i=0;i<zu.length;i++){
for(int j=0;j<pp.zu.length;j++){
if(zu[i]==pp.zu[j]){
ci++;
break;
}
}
}
show();
}
//显示结果
public void show(){
System.out.println("本期体育彩票中奖号码为:");
for(int i=0;i<zu.length;i++){
System.out.print(zu[i]+"\t");
}
System.out.println();
System.out.println("您猜中了"+ci+"个数");
if(ci==5){
System.out.print("恭喜您猜对5个数!奖励一万元人民币!");
}else if(ci==6){
System.out.print("恭喜您猜对5个数!奖励一千万元人民币!");
}else if(ci==7){
System.out.print("恭喜您猜对5个数!奖励一亿元人民币!");
}else{
System.out.print("很遗憾您什么也没得到!");
}
}
}
public class Tese {
public static void main(String[]args){
Person pp=new Person();
YaoJiang yy=new YaoJiang();
pp.hao();
yy.kaiShi();
}
}
public class Person {
int zu[]=new int[7];
Scanner input=new Scanner(System.in);
public void hao(){
System.out.println("请输入7个号码:");
for(int i=0;i<zu.length;i++){
zu[i]=input.nextInt(); //接收输入的号码
for(int j=0;j<i;j++){
if(zu[i]==zu[j]){
System.out.println("输入错误,请输入一个不重复的数!");
System.out.println("请重新输入此数:");
i--;
break;
}else if(zu[i]>10||zu[i]<=0){
System.out.println("输入错误,请输入一个大于10切小于0的整数!");
System.out.println("请重新输入此数:");
i--;
break;
}
}
}
}
}
public class YaoJiang {
int zu[]=new int[7];
int ci=0; //中奖号码数
public int chou(){
int sui=(int)(Math.random()*10)+1; //产生一个随机数
return sui;
}
public void kaiShi(){
for(int i=0;i<zu.length;i++){
zu[i]=chou();
//循环判断到此数之前的数有没有相等的
for(int j=0;j<i;j++){
if(zu[i]==zu[j]){
i--; //有相等的则重新抽取
break;
}
}
}
jieGuo();
}
//出问题部分,每次pp.zu[j]都等于0,而用main方法里调用就可以
public void jieGuo(){
Person pp=new Person();
for(int i=0;i<zu.length;i++){
for(int j=0;j<pp.zu.length;j++){
if(zu[i]==pp.zu[j]){
ci++;
break;
}
}
}
show();
}
//显示结果
public void show(){
System.out.println("本期体育彩票中奖号码为:");
for(int i=0;i<zu.length;i++){
System.out.print(zu[i]+"\t");
}
System.out.println();
System.out.println("您猜中了"+ci+"个数");
if(ci==5){
System.out.print("恭喜您猜对5个数!奖励一万元人民币!");
}else if(ci==6){
System.out.print("恭喜您猜对5个数!奖励一千万元人民币!");
}else if(ci==7){
System.out.print("恭喜您猜对5个数!奖励一亿元人民币!");
}else{
System.out.print("很遗憾您什么也没得到!");
}
}
}
public class Tese {
public static void main(String[]args){
Person pp=new Person();
YaoJiang yy=new YaoJiang();
pp.hao();
yy.kaiShi();
}
}
package com.ricky.www;import java.util.Random;
import java.util.HashSet;
import java.util.Scanner;public class Test {
public static void main(String[] args) {
HashSet<Integer> num1 = luckyNum();
HashSet<Integer> num2 = currectNum();
int currect = compare(num1, num2);
System.out.println("恭喜你中了 " + currect + " 个号码.");
} public static HashSet<Integer> currectNum() {
Random random = new Random();
HashSet<Integer> set = new HashSet<Integer>();
for (int i = 0; i < 7;) {
int num = random.nextInt(9) + 1;
if (set.add(num)) {
i++;
}
}
return set;
} public static HashSet<Integer> luckyNum() {
HashSet<Integer> set = new HashSet<Integer>();
Scanner keyboard = new Scanner(System.in);
int num;
System.out.println("Insert your 7 lucky numbers: ");
for (int i = 1; i <= 7; ) {
System.out.print(i + ": ");
try{
num = Integer.parseInt(keyboard.nextLine());
}catch(Exception e){
System.err.println("你的输入有误,请重新输入");
continue;
}
if(set.add(num)){
i ++;
}else{
System.out.println("存在重复的号码,请重新输入.");
}
}
return set;
} public static int compare(HashSet<Integer> nums1, HashSet<Integer> nums2) {
System.out.println("你输入的号码如下:");
for(Integer num : nums1){
System.out.print(num + " " );
}
System.out.println("\n系统号码如下:");
for(Integer num : nums2){
System.out.print(num + " ");
}
System.out.println("\n你中了如下号码:");
int result = 0;
for(Integer num : nums1){
if(nums2.contains(num)){
System.out.print(num + " ");
result ++;
}
}
return result;
}
}