2015-01-08 1 views
-5

Я использую BlueJ. Я также импортирую javax.swing. * И пытаюсь создать быструю систему для школы, в которой пользователь вводит строку под названием «Жанр», и если это фантазия, появляется этот массив с Гарри Поттером, голодными играми и т. Д. Она не работает, хотя:/Ничего не происходит? Простой код и новый кодер?

public class Project 
{ 
    /** 
    * Constructor for objects of class Project 
    */ 
    public static void main(String args[]) 
    { 
     String Input; 
     String[] books = new String[5]; 
     books[0]= "Harry Potter Series: 1\n"; 
     books[1]= "The Lion, the Witch, and the Wardrobe: 2\n"; 
     books[2]= "Lord of The Rings Series: 3\n"; 
     books[3]= "The Hunger Games: 4\n"; 
     books[4]= "Ender's Game: 5\n"; 
     String Genre, summary; 
     Genre = JOptionPane.showInputDialog(null, 
     "Enter Genre:", "Genre", 
     JOptionPane.QUESTION_MESSAGE); 

     //I think something is wrong with the following line: 
     if (Genre =="Fantasy") 
     { 
      JOptionPane.showMessageDialog(null, 
      "Type the corresponding number to the book/series\n you would like information on:\n\n" + 
      books[0] + 
      books[1]+ 
      books[2]+ 
      books[3]+ 
      books[4], "Fantasy Books", 
      JOptionPane.INFORMATION_MESSAGE); 
     } 
     System.exit(0); 
    } 
} 
+2

Добро пожаловать на SO. Однако мы не сообщество читателей разума. Пожалуйста, будьте гораздо более понятны о том, что вы пытаетесь выполнить и как это происходит. – isherwood

+0

Спасибо. В принципе, я использую BlueJ. Я также импортирую javax.swing. * И пытаюсь создать быструю систему для школы, в которой пользователь вводит строку под названием «Жанр», и если это фантазия, появляется этот массив с Гарри Поттером, голодными играми и т. Д. Он не работает:/ – AxeHead1999

+1

Используйте '.Equals()' вместо '=='. http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java Убедитесь, что введенный вами случай соответствует строке, которую вы сравниваете. – Gray

ответ

1

Попробуйте

public class Project 
{ 

    public static void main(String args[]) 
    { 
     String Input; 
     String[] books = new String[5]; 
     books[0]= "Harry Potter Series: 1\n"; 
     books[1]= "The Lion, the Witch, and the Wardrobe: 2\n"; 
     books[2]= "Lord of The Rings Series: 3\n"; 
     books[3]= "The Hunger Games: 4\n"; 
     books[4]= "Ender's Game: 5\n"; 
      String Genre, summary; 
      Genre = JOptionPane.showInputDialog(null, "Enter Genre:", "Genre", 
      JOptionPane.QUESTION_MESSAGE); 
      String ab= "Fantasy"; 

      if (Genre.equals(ab)) 
      { 
      JOptionPane.showMessageDialog(null, 
      "Type the corresponding number to the book/series\n you would like information on:\n\n" + 
      books[0] + 
      books[1]+ 
      books[2]+ 
      books[3]+ 
      books[4], "Fantasy Books", 
      JOptionPane.INFORMATION_MESSAGE); 
     } 
       System.out.println("error"); 

      } 
     } 
+0

Yay. Спасибо. Любая идея, что было не так, поэтому я никогда не делаю этого снова? – AxeHead1999

+0

для сравнения со строками знак двойной знака также работает когда-то, но мы используем метод equals, который предопределен в java. – ProjectAb

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