2013-11-20 3 views
0

Я делаю код, который берет карты у пользователя и помещает их в колоду, значение карты зависит от цифр, например. 1 тогда 5 были бы 5 сердец 3, тогда 13 - Король Пик. Если карта вставлена ​​правильно, она должна возвращать true, если она не должна вызывать исключение, она должна проверять место в колоде, если нет, она должна возвращать значение false и, наконец, если карта уже вставлена, она должна возвращать значение false. Ошибки в комментариях.Почему я получаю эти ошибки в Eclispe?

import java.util.Scanner; 


public static void main(String[] args){ //red underline error on void saying "syntax error token", under the second bracket of String[] and on the last bracket after args. 

private static addCards(){ 

String suit[] = {"Hearts", "Diamonds", "Spades", "Clubs"}; 
String value[] = {"ZZZZ", "Ace", "2", "3", "4", "5", "6", 
        "7", "8", "9", "10", "Jack", "Queen", "King"}; 


String[] card = new String[52]; 
String[] newSuit = new String[4]; 

Scanner input = new Scanner(System.in); //it says it expects a { instead of the semicolon here. 

for (int i = 0; i < 52; i++){ 
    System.out.println("Please enter a suit"); 
    int inputSuit = input.nextInt(); 

    check = false; 
    if(inputSuit = 1 || 2 || 3 || 4){ 
     check = true; 
    } 

    System.out.println("Please enter a card"); 
    int inputValue = input.nextInt(); 

    check1 = false; 
    if(inputValue = 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10 || 11 || 12 || 13){ 
     check1 = true; 
    } 

    try{ 
     check = true; 
     check1 = true; 
    } 
    catch(card exception){ 
     ex.printStackTrace(); 
      System.exit(1); 
    } 

    switch (inputSuit) { 
     case 0: newSuit[i] = suit[0]; break; 
     case 1: newSuit[i] = suit[1]; break; 
     case 2: newSuit[i] = suit[2]; break; 
     case 3: newSuit[i] = suit[3]; break; 
    } 

    switch (inputValue) { 
     case 1: card[i] = value[1]; break; 
     case 2: card[i] = value[2]; break; 
     case 3: card[i] = value[3]; break; 
     case 4: card[i] = value[4]; break; 
     case 5: card[i] = value[5]; break; 
     case 6: card[i] = value[6]; break; 
     case 7: card[i] = value[7]; break; 
     case 8: card[i] = value[8]; break; 
     case 9: card[i] = value[9]; break; 
     case 10: card[i] = value[10]; break; 
     case 11: card[i] = value[11]; break; 
     case 12: card[i] = value[12]; break; 
     case 13: card[i] = value[13]; break; 
    } 



    boolean isFull = true; 
    for(String s : card) { 
     if(s == null) { 
      isFull = false; 
      break; 
     } 
    } 

} 
} //"multiple markers in this line" 
+1

У вас не может быть метода внутри метода на Java. –

+1

Каково ваше имя в классе? – Pshemo

ответ

2

Вы используете || неправильно

if(inputSuit = 1 || 2 || 3 || 4){ 

сделать это

if(inputSuit == 1 || inputSuit == 2 || inputSuit == 3 || inputSuit == 4){ 

|| используется для выполнения логическое ИЛИ, общее использование является

((Boolean Expression 1) || (Boolean Expression 2) || (Boolean Expression 3)...) 

Точно так же исправить это

if(inputValue = 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10 || 11 || 12 || 13){ 
1

Вы пропускаете public class [ClassName] {}

1

Там много вещей неправильно, я боюсь. Вы не определили класс, который должен соответствовать имени файла. Вы начинаете основной метод, но не закрываете его круглые скобки, прежде чем запускать другой метод. Оператор if недействителен.

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

0
  1. Нет общественного класса YourClassName {}
  2. Основной метод не имеет другой метод? Это запрещено в java
  3. Тип возврата для вашего метода addCards()
  4. inputSuit = 1 || 2 || 3 || 4 неверно. Вы должны проверить отдельно для каждого номера, а == - оператор сравнения. = для назначения.
  5. Читайте на написание исключения улове блоков here
0

У вас есть более чем одна ошибка в коде.

  1. No Class определено.
  2. Другой способ внутри main способ.
  3. Недопустимое использование оператора ||. Проверьте ответ @Ankit.
  4. Использование = вместо ==. = - assignment Оператор, вам нужен оператор comparison i.e ==
  5. Действительно плохой отступ.
Смежные вопросы