2015-10-28 4 views
-1

Да, я просмотрел другой код, но у меня есть уникальная ситуация, и вот оно: хорошо, поэтому мой учитель средней школы заставляет нас делать проект, где мы должны использовать IF и ELSE декларации, чтобы узнать наши инициалы только из ответов YES и NO (0 = нет и 1 = да), и он должен работать с каждой буквой, которую он выбирает, но в строке 45 он говорит о незаконном запуске типа, но единственное, что есть еще ... в любом случае вот код и спасибо за помощь заранееНезаконное начало типа алфавита

/* Objective: practice completing if, if-else,block statements. 
 
*   and relational operators. 
 
*/ 
 
import java.io.*; 
 
import java.util.*; 
 
public class Alphabet2 { 
 
    public static void main(String args[]) { 
 
    \t final int YES = 1; 
 
    \t final int NO = 0; 
 
    \t int answer = 0; 
 
    \t Scanner kbReader = new Scanner(System.in); \t 
 
    \t 
 
    System.out.println("Think of a letter from A to Z\n\n"); 
 
    
 
    System.out.println("0 = A-M"); 
 
    System.out.println("1 = N-Z"); 
 
    System.out.print("Enter your choice\t"); 
 
    answer = kbReader.nextInt(); 
 
    if (answer == NO){ 
 
    \t System.out.println("\nOK, A thru M\n"); 
 
     System.out.println("0 = A-G"); 
 
     System.out.println("1 = H-M"); 
 
     System.out.print("Enter your choice\t"); 
 
     answer = kbReader.nextInt(); 
 
     if (answer == YES){ 
 
      System.out.print("\nOK, H thru M \n"); 
 
      System.out.print("\n0 = H-J \n"); 
 
      System.out.print("\n1 = K-M \n"); 
 
      System.out.print("Enter your choice \t"); 
 
      answer = kbReader.nextInt(); 
 
      if(answer == YES){ 
 
       System.out.print("lol"); 
 
      } 
 
       
 
      else { 
 
      } 
 
      } 
 
     //else 
 
      // System.out.print(""); 
 
     } 
 
    else { 
 
     System.out.println("OK, A thru G\n"); 
 
     } 
 
    } 
 
    else { 
 
    \t System.out.println("\nOK, N thru Z\n"); 
 
     System.out.println("0 = N-S"); 
 
     System.out.println("1 = T-Z"); 
 
     System.out.print("Enter your choice\t"); 
 
     answer = kbReader.nextInt(); 
 
     if (answer == NO){ 
 
    \t System.out.println("OK, N thru S\n"); 
 
     } 
 
     else { \t 
 
      System.out.println("OK, T thru Z\n"); 
 
     }  
 
     } 
 
    }

+0

В каких случаях это принадлежит? 'Else', который после другого' else'? – Makoto

+5

Правильный, сбалансированный отступ сделает проблему очевидной. – VGR

ответ

1

на дне ваше сотрудничество правильно отступом.

Обратите внимание, что

else { 
    System.out.println("\nOK, N thru Z\n"); 

появляется после того, как распорки, которая закрывает ваш метод main.

Причины вы получите, что конкретное сообщение об ошибке, что анализатор считает else, который появляется после того, как метод main типа для другого метода или полей объявления, потому что это не является ключевым словом модификатора, который может быть частью заявления члена ,

Один из способов думать об этой проблеме, чтобы разбить его полностью до подачи вещи:

// A-Z 
if (...) { 
    // A-M 
} else { 
    // N-Z 
} 

затем один слой более

// A-Z 
if (...) { 
    // A-M 
    if (...) { 
    // A-F 
    } else { 
    // G-M 
    } 
} else { 
    // N-Z 
    if (...) { 
    // N-S 
    } else { 
    // T-Z 
    } 
} 

т.д.


/* Objective: practice completing if, if-else,block statements. 
*   and relational operators. 
*/ 
import java.io.*; 
import java.util.*; 
public class Alphabet2 { 
    public static void main(String args[]) { 
    final int YES = 1; 
    final int NO = 0; 
    int answer = 0; 
    Scanner kbReader = new Scanner(System.in); 

    System.out.println("Think of a letter from A to Z\n\n"); 

    System.out.println("0 = A-M"); 
    System.out.println("1 = N-Z"); 
    System.out.print("Enter your choice\t"); 
    answer = kbReader.nextInt(); 
    if (answer == NO){ 
     System.out.println("\nOK, A thru M\n"); 
     System.out.println("0 = A-G"); 
     System.out.println("1 = H-M"); 
     System.out.print("Enter your choice\t"); 
     answer = kbReader.nextInt(); 
     if (answer == YES){ 
     System.out.print("\nOK, H thru M \n"); 
     System.out.print("\n0 = H-J \n"); 
     System.out.print("\n1 = K-M \n"); 
     System.out.print("Enter your choice \t"); 
     answer = kbReader.nextInt(); 
     if(answer == YES){ 
      System.out.print("lol"); 
     } 

     else { 
     } 
     } 
     //else 
     // System.out.print(""); 
    } 
    else { 
     System.out.println("OK, A thru G\n"); 
    } 
    } 
    else { 
    System.out.println("\nOK, N thru Z\n"); 
    System.out.println("0 = N-S"); 
    System.out.println("1 = T-Z"); 
    System.out.print("Enter your choice\t"); 
    answer = kbReader.nextInt(); 
    if (answer == NO){ 
     System.out.println("OK, N thru S\n"); 
    } 
    else { 
     System.out.println("OK, T thru Z\n"); 
    }  
    } 
} 
0
/* Objective: practice completing if, if-else,block statements. 
*   and relational operators. 
*/ 
import java.io.*; 
import java.util.*; 
public class Alphabet2 { 
    public static void main(String args[]) { 
    final int YES = 1; 
    final int NO = 0; 
    int answer = 0; 
    Scanner kbReader = new Scanner(System.in); 

    System.out.println("Think of a letter from A to Z\n\n"); 

    System.out.println("0 = A-M"); 
    System.out.println("1 = N-Z"); 
    System.out.print("Enter your choice\t"); 
    answer = kbReader.nextInt(); 
    if (answer == NO){ 
     System.out.println("\nOK, A thru M\n"); 
     System.out.println("0 = A-G"); 
     System.out.println("1 = H-M"); 
     System.out.print("Enter your choice\t"); 
     answer = kbReader.nextInt(); 
     if (answer == YES){ 
      System.out.print("\nOK, H thru M \n"); 
      System.out.print("\n0 = H-J \n"); 
      System.out.print("\n1 = K-M \n"); 
      System.out.print("Enter your choice \t"); 
      answer = kbReader.nextInt(); 
      if(answer == YES){ 
       System.out.print("lol"); 
      } 

     else{ 
      System.out.print(""); 
     } 
    } 
    else { 
     System.out.println("OK, A thru G\n"); 
     } 
    } 
    else { 
     System.out.println("\nOK, N thru Z\n"); 
     System.out.println("0 = N-S"); 
     System.out.println("1 = T-Z"); 
     System.out.print("Enter your choice\t"); 
     answer = kbReader.nextInt(); 
     if (answer == NO){ 
      System.out.println("OK, N thru S\n"); 
     } 
     else { 
      System.out.println("OK, T thru Z\n"); 
     }  
     } 

} }

+0

Пожалуйста, обратите внимание на то, что вы изменили в сценарии и объясните, почему это устранило проблему. – APC

Смежные вопросы