Список в Java с использованием случайных чисел - PullRequest
0 голосов
/ 01 марта 2010

У меня есть следующий код

public class ShufflingListAndArray
{
  public static void main(String[] args) throws IOException

{
    List services = new ArrayList (


    Arrays.asList("COMPUTER", "DATA", "PRINTER"));

   Random rnd=new Random();
  String s = services.get(rnd.nextInt(services.size()));

    Collections.shuffle(list);


    //Collections.sort(list);


    System.out.println("List sorting :"+ list);
  }
} 

Я получаю следующую ошибку при компиляции вышеуказанной программы.

C:\>javac ShufflingListAndArray.java
ShufflingListAndArray.java:12: asList(java.lang.Object[]
nnot be applied to (java.lang.String,java.lang.String,ja
    Arrays.asList("COMPUTER", "DATA", "PRINTER"));


          ^
ShufflingListAndArray.java:15: cannot resolve symbol
symbol  : variable rnd
location: class ShufflingListAndArray
  String s = services.get(rnd.nextInt(services.size()));
                          ^
ShufflingListAndArray.java:15: incompatible types
found   : java.lang.Object
required: java.lang.String
  String s = services.get(rnd.nextInt(services.size()));
                         ^
ShufflingListAndArray.java:17: cannot resolve symbol
symbol  : variable list
location: class ShufflingListAndArray
    Collections.shuffle(list);
                        ^
ShufflingListAndArray.java:19: cannot resolve symbol
symbol  : variable list
location: class ShufflingListAndArray
    System.out.println("List sorting :"+ list);
                                         ^
5 errors

Пожалуйста, помогите мне устранить ошибки. Большое спасибо ....

Ответы [ 5 ]

1 голос
/ 01 марта 2010
...
Arrays.asList("COMPUTER", "DATA", "PRINTER"));

Как видно из ошибки компилятора, в качестве входных данных он принимает массив, а не последовательность строк. Вы можете пройти:

...
Arrays.asList(new String[] {"COMPUTER", "DATA", "PRINTER"}));

Во-вторых, ваша ссылка 'services' не использует универсальные типы, поэтому ее содержимое имеет тип Object во время компиляции, а не String. Вместо этого вы хотите:

List<String> services = new ArrayList<String>(

В-третьих, ваша переменная называется «services», а не «list», поэтому:

Collections.shuffle(services);

И точно так же в последнем утверждении. В этом случае компилятор в значительной степени говорит вам, в чем именно проблема. Вы читали его вывод?

0 голосов
/ 01 марта 2010

Это решает все ваши ошибки:

    List<String> services = Arrays.asList("COMPUTER", "DATA", "PRINTER");
    Random rnd = new Random();
    String s = services.get(rnd.nextInt(services.size()));
    Collections.shuffle(services);
    // Collections.sort(services);
    System.out.println("List sorting :" + services);

КСТАТИ Строка s нигде не используется.

0 голосов
/ 01 марта 2010

Также вы не объявили переменную списка: Collections.shuffle (list);

0 голосов
/ 01 марта 2010

Работает нормально для меня. использовать сервисы вместо списка, в случайном порядке и при печати

0 голосов
/ 01 марта 2010

Попробуйте:

public class ShufflingListAndArray
{
  public static void main(String[] args) throws IOException

{
    List services = Arrays.asList("COMPUTER", "DATA", "PRINTER");

   Random rnd=new Random();
  String s = services.get(rnd.nextInt(services.size()));

    Collections.shuffle(list);


    //Collections.sort(list);


    System.out.println("List sorting :"+ list);
  }
} 

И посмотрите, если вы по-прежнему получаете сообщения об ошибках rnd, если вы это делаете, можете ли вы опубликовать полное сообщение, кажется, что некоторые его части обрезаны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...