java随机问题

来源:百度知道 编辑:UC知道 时间:2024/06/05 11:46:36
import java.util.Random;
import java.util.Scanner;
public class zuoye {

public static void main(String[] args) {

int a,b,c;

Scanner scanner = new Scanner(System.in);

Random ran = new Random();
for(;;){
a = ran.nextInt(3);

b = scanner.nextInt();

if(a==0){
if(b==0)System.out.print("平手,请再次输入");
if(b==1)System.out.print("你输了");return;
if(b==2)System.out.print("你赢了");return;
}
if(a==1){
if(b==1)System.out.print("平手,请再次输入");
if(b==2)System.out.print("你输了");return;
if(b==0)System.out.print("你赢了");return;
}
if(a==2){
if(b==2)System.out.print("平手,请再次输入");
if(b==0)System.out.print("你输了");return;
if(b==1)System.out.print("你赢了");return;
}
}
}
}
哪里错了?
还有a = ran.nex

if(b==1){System.out.print("你输了");return;}
同样的,把中间的一个也加大括号,也就是你输了那句。因为你的那个return并没有在前面的那个if里面。所以到这里就返回了。后面那个if就根本不会到。所以会有问题

抛随机数int j = (int)(Math.random()*100)+100;

还有把类名改一下。大写

3改为200,再对所得的数-100取绝对值,你这里for内是不是死循环啊??兄弟

语法上没有错误。

你return写错了哇!这样写 会报不可达,编译不通过。你也可以用else啊 或者switch也行 清楚明了。
public static void main(String [] args){
int max = 200;
int min = 100;
for(int i=0; i<10;i++){
int num = (int)((max-min)*Math.random()+min);
System.out.println(num);
}
}
还有你以后关于这些技术行的东西到专业的网站找资料好类。
给你介绍几个
http://www.csdn.net/
http://www.javaeye.com/
在这些网站里面可以找到你很多关于java的问题。