2016-12-11 4 views
-2

何らかの理由で、switch文に入力したパラメータが作成されていないというエラーが表示されます。私の方法はすべて正しいですが、問題がどこにあるのか分かりません。誰もがこれで私を助けることができますか?配列リストを作成していますが、modifyfruitを含むswitch文に問題があります

package javaapplication7; 

import com.sun.org.apache.bcel.internal.generic.RETURN; 
import java.awt.Event; 
import java.util.ArrayList; 
import java.util.Scanner; 
import java.util.jar.Attributes; 


public class JavaApplication7 { 
    private static ArrayList<String> charles = new ArrayList<String>(); 
    private static Scanner chris = new Scanner(System.in); 
    private static boolean loops = true; 
    public static void main(String[] args) { 
     charles.add("Apple"); 
     charles.add("Orange"); 
     charles.add("Grapes"); 
     charles.add("Plums"); 
     charles.add("Grapefruit"); 
     charles.add("Kiwi"); 
     System.out.println("ArrayList Addons"); 
     System.out.println("=================="); 
     System.out.println(charles); 
     System.out.println(""); 
     System.out.println("Choose a number"); 

     while(loops){ 

      System.out.println("Enter Select A Choice"); 
      System.out.println("===================="); 
      System.out.println("1 - End Program"); 
      System.out.println("2 - Add Fruit"); 
      System.out.println("3 - Remove Fruit"); 
      System.out.println("4 - Modify Fruit"); 
      System.out.println("5 - List of your fruit"); 

      int choice = chris.nextInt(); 

       switch(choice){ 
        case 1: 
         loops = false; 
         break; 
        case 2: 
         addfruit(); 
         break; 
        case 3: 
         removefruit(); 
         break; 
        case 4: 
         modifyfruit(option, fruits); 
         break; 
        case 5: 
         printlist(); 
         break; 
        default: 
         printlist(); 
         System.out.println("***PLEASE SELECT FROM THE LIST***"); 
         break; 

      } 

     } 

    } 
    public static void printlist(){ 
     System.out.println("Your list of furit"); 
     System.out.println(charles); 
    } 
    public static void addfruit(){ 
     System.out.println("Add another fruit"); 
     String trees = chris.next(); 
     charles.add(trees); 
     System.out.println("You've successfully added "+trees); 
     printlist(); 

    } 
     public static void removefruit(){ 
     System.out.println("Select what fruit to remove"); 
     int removal = chris.nextInt(); 
     charles.remove(removal-1); 
     System.out.println("You've successfully added "+removal); 
     printlist(); 

    } 
     public static void modifyfruit(int option, String fruits){ 
     System.out.println("Select what position to change"); 
     option = chris.nextInt(); 
     System.out.println("Select A new fruit to add"); 
     fruits = chris.next(); 
     charles.set(option+1, fruits); 
     System.out.println("Your new fruit is "+ fruits); 
     printlist(); 

    } 
} 
+1

正確なエラーメッセージは何ですか?どの部分が分かりませんか? – SLaks

+0

私はそれを理解しました。私は本当に私の方法では何の議論も必要ありませんでした。 – Charles

答えて

-1

modifyfruitメソッドでは引数は必要ありません。メソッドを呼び出す場所とメソッドのシグネチャを削除し、メソッド内で定義します。スイッチ内部

public static void modifyfruit() { 
     System.out.println("Select what position to change"); 
     int option = chris.nextInt(); 
     System.out.println("Select A new fruit to add"); 
     String fruits = chris.next(); 
     charles.set(option + 1, fruits); 
     System.out.println("Your new fruit is " + fruits); 
     printlist(); 
    } 
+0

ありがとう、それは問題でした。その笑に大きな脳の凍結があった – Charles

-1

case 4: 
        modifyfruit(option, fruits); 
        break; 

オプションや果物がまだ作成されていない、あなたは、メソッドmodifyfruit()のオプションを定義し、果物されている場合は、ユーザからの入力を取られていることがわかります。

関連する問題