2016-04-18 3 views
0

私はCASHNOWのような電話スローガンを対応する番号に変換するこのコードを書こうとしています。私はそれがレイアウトされていると思うが、私は私のループを私のswitch文で実行することはできません。最初の7文字のみを実行し、電話番号のようなハイフンで出力する必要があります。このような別のスレッドがありますが、それは私が実行しようとしているものよりも複雑です。私はJavaにとってかなり新しいので何か助けになります!お願いしてありがとう!ループスローガンを番号ヘルプに変換し、スイッチが実行されない(Java)

package slogan_to_phone_number; 

import java.util.Scanner; 

public class Galde_Project_8 { 

static Scanner console = new Scanner(System.in); 

public static void main(String[] args) { 

    // Variables 
    char currentChar; 
    int strLen; 
    String input_num; 
    int output_num = 0; 
    int number = 0; 

    // Get user input 

    System.out.println("Enter the phone number (With letters): "); 
    input_num = console.nextLine(); 

    input_num = input_num.toUpperCase(); 

    strLen = input_num.length(); 

    currentChar = input_num.charAt(0); 


    // for statement 

    for (currentChar = 0; currentChar >= 7; currentChar ++) 
    { 

     switch(currentChar) 
     { 
     case 'A' : case 'B' : case 'C' : output_num = 2; break; 
     case 'D' : case 'E' : case 'F' : output_num = 3; break; 
     case 'G' : case 'H' : case 'I' : output_num = 4; break; 
     case 'J' : case 'K' : case 'L' : output_num = 5; break; 
     case 'M' : case 'N' : case 'O' : output_num = 6; break; 
     case 'P' : case 'Q' : case 'R' : case 'S' : output_num = 7; break; 
     case 'T' : case 'U' : case 'V' : output_num = 8; break; 
     case 'W' : case 'X' : case 'Y' : case 'Z' : output_num = 9; break; 
     } 

     System.out.print(output_num); 

    { // end of for loop 

    } 

} 

    // Output 


} 

}

+0

あなたは、switchステートメントを使用する必要がありますか?私は '' ABC ".contains(String.valueOf(currentChar))'は少しきれいに見えると思います。 –

+0

私の教授はswitch文を使うことを望んでいますが、かさばるかもしれませんが、これまでのプロジェクトではうまくいくようです。 – TylerGalde

答えて

2

それはスイッチのためのあなたのcharを保持していますので、あなたのforループのカウンタとしてcurrentChar使用しないでください。代わりにint x = 0のような新しいものを使用してください。

カウンターにcurrentCharを使用すると、確認している文字が失われます。また、あなたのループ内の電話番号を反復するので、ループのためにあなたのcurrentChar = input_num.charAt(0);を移動したいと思う:

for(int x=0; x<=7; x++) 
{ 
    currentChar = input_num.charAt(x); 
    ... 
関連する問題