0

変換オプションを実装する前に、私のプログラムは問題なく動作していました。私がやろうとしているのは、文字列を大文字または小文字に変換するための U/u または L/l 入力オプションを実装することだけです。助けてください?

     import java.util.Scanner;

   public class CaseManipulation {


   public static void main(String[] args) {

       boolean up, low;
       char up[] = {'U', 'u'};
       char low[] = {'L', 'l'};

       Scanner scanner = new Scanner(System.in);
       System.out.print("Enter an input String: ");
       String inputString = scanner.nextLine();
       System.out.print("Case Conversion Option(U/u for uppercase, L/l for lowercase):");
       char caseoption = scanner.nextLine();

       if (caseoption == up[]) {
           System.out.println("Upper Case: " + toUpperCase(inputString));
       }  else if (caseoption == low[]) {
           System.out.println("Lower Case: " + toLowerCase(inputString));
       }

       //is_uppercase();


       //System.out.println("Upper Case: " + toUpperCase(inputString));
       //System.out.println("Lower Case: " + toLowerCase(inputString));

       }

       //public static boolean is_uppercase(char caseoption) {
      // if (char caseoption == ) {

         //  } 

   //}

       public static String toUpperCase(String inputString) {
       String result = "";
       for (int i = 0; i < inputString.length(); i++) {
           char currentChar = inputString.charAt(i);
           char currentCharToUpperCase = Character.toUpperCase(currentChar);
           result = result + currentCharToUpperCase;
       }
       return result;
   }

   public static String toLowerCase(String inputString) {
       String result = "";
       for (int i = 0; i < inputString.length(); i++) {
           char currentChar = inputString.charAt(i);
           char currentCharToLowerCase = Character.toLowerCase(currentChar);
           result = result + currentCharToLowerCase;
       }
       return result;
   }
}
4

1 に答える 1

0

基本的に、if条件は2つのオブジェクトの値ではなく、オブジェクト/メモリ参照を比較しています...

if (caseoption == up[]) {...

caseoptionup...と等しくなる可能性は決してありません

代わりに、それらの内容を比較する必要があります...

if (caseoption == up[0] || caseoption == up[1]) {...

より簡単な解決策はcaseoption、たとえば、単一のユースケースに変換することです...

if (Character.toUpperCase(caseoption) == 'U') {...
于 2013-10-09T03:12:20.210 に答える