滚动20面骰子n次,并在数组中打印值-java
我正在尝试制作一个Java程序,使n个随机值在1-20之间,并将它们放入一个数组中。到目前为止,我的计划是:滚动20面骰子n次,并在数组中打印值-java,java,arrays,dice,Java,Arrays,Dice,我正在尝试制作一个Java程序,使n个随机值在1-20之间,并将它们放入一个数组中。到目前为止,我的计划是: public class bias{ public static void main(String[] as){ for (int n = 10; 0 < n; n--){ int[] values; values = new int[n]; int b = (int)(Math.ran
public class bias{
public static void main(String[] as){
for (int n = 10; 0 < n; n--){
int[] values;
values = new int[n];
int b = (int)(Math.random()*20) + 1;
values[n--] = b;
}
System.out.println(values.length);
}
}
公共阶级偏见{
公共静态void main(字符串[]as){
对于(int n=10;0
但我编译它时会出错:
C:\javas>javac bias.java
bias.java:9 error: cannot find symbol
System.out.printLn<values.length>;
symbol: variable values
location: class bias
1 error
C:\javas>javac bias.java
bias.java:9错误:找不到符号
System.out.printLn;
符号:变量值
地点:阶级偏见
1错误
我似乎无法理解和调试,我的问题是什么代码>应位于for循环的外侧 你喜欢下面吗
int[] values = new int[10];
for (int n = 10; 0 < n; n--){
int b = (int)(Math.random()*20) + 1;
values[n] =b;
}
int[]值=新的int[10];
对于(int n=10;0
删除
int[]值;值=新整数[n]代码>来自for循环。它将为每次迭代创建新数组。int[]值代码>应位于for循环的外侧
你喜欢下面吗
int[] values = new int[10];
for (int n = 10; 0 < n; n--){
int b = (int)(Math.random()*20) + 1;
values[n] =b;
}
int[]值=新的int[10];
对于(int n=10;0
删除int[]值;值=新整数[n]代码>来自for循环。它将为每次迭代创建新数组。您在for
循环中声明了您的values对象,因此它仅在循环中可用。
将其移出循环
我建议看一下变量作用域:
我想你想要的是:
int[] values = new int[10];
for (int n = 10; 0 < n; n--){
values[n] = (int)(Math.random()*20) + 1;
}
System.out.println(values.length);
int[]值=新的int[10];
对于(int n=10;0
您在for
循环中声明了values对象,因此它仅在循环中可用。
将其移出循环
我建议看一下变量作用域:
我想你想要的是:
int[] values = new int[10];
for (int n = 10; 0 < n; n--){
values[n] = (int)(Math.random()*20) + 1;
}
System.out.println(values.length);
int[]值=新的int[10];
对于(int n=10;0
当您试图打印数组的长度时,您的值就超出了范围。它的范围仅限于
代码块的。您的值
数组在尝试打印其长度时超出范围。其范围仅限于代码块的。在循环外声明变量
因为您已经声明了varibleint[]值代码>在循环内,因此此变量在循环内具有作用域,在循环外不可见,因此在循环外声明它,使其作用域成为完整程序。在循环外声明变量
因为您已经声明了varibleint[]值代码>在循环内,因此此变量在循环内具有作用域,在循环外不可见,因此在循环外声明它,使其作用域成为完整程序。以下是您需要执行的解决方案从控制台读取数字n
创建一个这样大小的数组并继续向其中添加数字。
然后,您可以在数组上迭代以获取所有值
public class bias{
public static void main(String[] as){
DataInputStream dis=new DataInputStream (System.in);
System.out.println ("Enter number n: ");
String s1=dis.readLine ();
int num = int n1=Integer.parseInt (s1);
int[] values = new int[num];
for (int n = 0; n < num; n++){
int b = (int)(Math.random()*20) + 1;
values[n] = b;
}
System.out.println(values.length);
for (int n = 0; n < num; n++){
System.out.println(values[n]);
}
}
}
公共阶级偏见{
公共静态void main(字符串[]as){
DataInputStream dis=新的DataInputStream(System.in);
System.out.println(“输入编号n:”);
字符串s1=dis.readLine();
int num=int n1=Integer.parseInt(s1);
int[]值=新的int[num];
对于(int n=0;n
以下是您需要执行的解决方案从控制台读取数字n
创建一个这样大小的数组并继续向其中添加数字。
然后,您可以在数组上迭代以获取所有值
public class bias{
public static void main(String[] as){
DataInputStream dis=new DataInputStream (System.in);
System.out.println ("Enter number n: ");
String s1=dis.readLine ();
int num = int n1=Integer.parseInt (s1);
int[] values = new int[num];
for (int n = 0; n < num; n++){
int b = (int)(Math.random()*20) + 1;
values[n] = b;
}
System.out.println(values.length);
for (int n = 0; n < num; n++){
System.out.println(values[n]);
}
}
}
公共阶级偏见{
公共静态void main(字符串[]as){
DataInputStream dis=新的DataInputStream(System.in);
System.out.println(“输入编号n:”);
字符串s1=dis.readLine();
int num=int n1=Integer.parseInt(s1);
int[]值=新的int[num];
对于(int n=0;n
你的意思是:值[n]=b
?你的意思是:值[n]=b
?