2016-08-12 13 views
2

あなたの名前を数字に変更するものをコーディングしようとしています。私はプログラミングに本当に新しいです。名前入力を数字に変換しようとしています

public class Project1 { 

/** 
* @param args the command line arguments 
*/ 
public static void main(String[] args) { 
    // TODO code application logic here 
    char ch1 = 'a'; 
    char ch2 = 'b'; 
    char ch3 = 'c'; 
    char ch4 = 'd'; 
    char ch5 = 'e'; 
    char ch6 = 'f'; 
    char ch7 = 'g'; 
    char ch8 = 'h'; 
    char ch9 = 'i'; 
    char ch10 = 'j'; 
    char ch11 = 'k'; 
    char ch12 = 'l'; 
    char ch13 = 'm'; 
    char ch14 = 'n'; 
    char ch15 = 'o'; 
    char ch16 = 'p'; 
    char ch17 = 'q'; 
    char ch18 = 'r'; 
    char ch19 = 's'; 
    char ch20 = 't'; 
    char ch21 = 'u'; 
    char ch22 = 'v'; 
    char ch23 = 'w'; 
    char ch24 = 'x'; 
    char ch25 = 'y'; 
    char ch26 = 'z'; 

    int num1 = ch1 - 'a' + 1; 
    int num2 = ch2 - 'a' + 1; 
    int num3 = ch3 - 'a' + 1; 
    int num4 = ch4 - 'a' + 1; 
    int num5 = ch5 - 'a' + 1; 
    int num6 = ch6 - 'a' + 1; 
    int num7 = ch7 - 'a' + 1; 
    int num8 = ch8 - 'a' + 1; 
    int num9 = ch9 - 'a' + 1; 
    int num10 = ch10 - 'a' + 1; 
    int num11 = ch11 - 'a' + 1; 
    int num12 = ch12 - 'a' + 1; 
    int num13 = ch13 - 'a' + 1; 
    int num14 = ch14 - 'a' + 1; 
    int num15 = ch15 - 'a' + 1; 
    int num16 = ch16 - 'a' + 1; 
    int num17 = ch17 - 'a' + 1; 
    int num18 = ch18 - 'a' + 1; 
    int num19 = ch19 - 'a' + 1; 
    int num20 = ch20 - 'a' + 1; 
    int num21 = ch21 - 'a' + 1; 
    int num22 = ch22 - 'a' + 1; 
    int num23 = ch23 - 'a' + 1; 
    int num24 = ch24 - 'a' + 1; 
    int num25 = ch25 - 'a' + 1; 
    int num26 = ch26 - 'a' + 1; 



    String name = JOptionPane.showInputDialog(null,"Enter your name:"); 

    System.out.println("your name is: " +name); 
} 
} 
+2

A)いいえ、既にできます最初の答えから見ると、あなたは非常に多くのことを複雑にしています。 B)このような質問は...実際にはここに属していないことを理解してください。ちょうどコードを掲示し、「私は正しい道にいる」と尋ねると、ここには合わない。この場所は特定の問題のためのものです。「私はここに正確にこだわっています。これはどうですか? – GhostCat

答えて

0

を試してみてください。

と言っていないので、の文字列を数字/数字に変換する必要があります。私はあなたにいくつかの選択肢を提供します。

まず、hashCodeを使用できます。私は「スイーパー」と「スイーパー」と入力すると出力は同じになります、だから、

String name = JOptionPane.showInputDialog(null,"Enter your name:"); 

System.out.println("your name is: " + name.hashCode()); 

:このメソッドは、すべての一意の文字列に一意の値を返す代わりに

your name is: -143341447 

、あなたはそれぞれに変換することができますintcharをキャストすることにより、対応するASCIIコードに文字:

"スイーパー" 意志の出力を入力
String name = JOptionPane.showInputDialog(null,"Enter your name:"); 
char[] chars = name.toCharArray(); 
System.out.print("your name is: "); 
for (char c : chars) { 
    System.out.print((int)c); 
    System.out.print(" "); 
} 

your name is: 83 119 101 101 112 101 114 

もう一つの方法は、ASCII値を追加することです:

String name = JOptionPane.showInputDialog(null,"Enter your name:"); 
char[] chars = name.toCharArray(); 
System.out.print("your name is: "); 
int sum = 0; 
for (char c : chars) { 
    sum += (int)c; 
} 
System.out.println(sum); 

"スイーパー" の入力が生成されますよう:

your name is: 731 

また与えることHashMap<Character, Integer>でAZおよびAZを置くことができます各文字のカスタム値:

HashMap<Character, Integer> map = new HashMap<>(); 
map.put('a', 1); 
map.put('b', 2); 
map.put('c', 3); 
map.put('d', 4); 
map.put('e', 5); 
// and so on... 

String name = JOptionPane.showInputDialog(null,"Enter your name:"); 
char[] chars = name.toCharArray(); 
System.out.print("your name is: "); 
for (char c : chars) { 
    System.out.print(map.get(c)); 
    System.out.print(" "); 
} 
+0

2番目の方法では、int型の値を割り当てた番号を出力しないのはなぜですか?nを入れると、110ではなく14が出力されます。 –

+0

@ NicholasDrolet-Mercier 2番目の方法ではASCII値が出力されません。独自の値を印刷する場合は、最後の方法を試してください。 – Sweeper

0

あなたがはるかに簡単な方法でこれを行うことができ、この

String name = "abc"; 
char[] chars = name.toCharArray(); 
for (char c : chars) { 
    System.out.print(c-'a'+1); 
} 
関連する問題