[英]Arrays and nested Loops
書中的問題:
編寫一個用1至100之間的10個隨機數填充數組值的循環。編寫兩個嵌套的用1至100之間的10個不同隨機數填充值的嵌套循環的代碼。
我的問題:為什么這需要嵌套循環?
我的代碼:
import java.util.Arrays;
import java.util.Random;
public class ArrayPractice
{
public static void main(String[] args)
{
Random random = new Random();
int[] a = new int[10];
int i;
for (i = 0; i < 10; i++)
{
a[i] = 1 + random.nextInt(100);
System.out.print(a[i]+ " ");
}
}
請注意,您不需要僅為使用數組而導入Array。
一旦發現重復的值,就可以檢查到目前為止數組中是否存在值rnd,並減少外循環的計數器:
import java.util.Random;
public class ArrayPractice
{
public static void main(String[] args)
{
Random random = new Random();
int[] a = new int[10];
for (int i = 0; i < 10; i++)
{
int rnd = 1 + random.nextInt (100);
a[i] = rnd;
System.out.print (a [i] + " ");
for (int j = 0; j < i; ++j)
{
if (a[j] == rnd) --i;
}
}
}
}
import java.util.Arrays;
import java.util.Random;
public class ArrayPractice {
public static void main(String[] args) {
Random random = new Random();
int[] array = new int[10];
int index = 0;
while(index < array.length){
int number = 1 + random.nextInt(100);
boolean found = false;
for (int i = 0; i < index; i++) {
int elm = array[i];
if (elm == number) {
found = true;
break;
}
}
if(!found){
array[index++] = number;
}
}
System.out.print(Arrays.toString(array));
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.