- ベストアンサー
文字配列について
Javaを最近やり始めたのですが2つほどやり方がわからないところがあります。 1つ目は Sring str = "";でstrを初期化し、 str = userInput.readLine(); で文字列を読み込みたいのですが、この読み込んだ文字を整数に置き換えたいのですがやり方がわかりません。 例えばAという文字を読み込むとするとそれを1としたいのです。 B→2、C→3、…、z→26というように。 その後その整数を使って計算をしていくのですが。 2つ目は 同じように読み込んだ文字列を1つずつ取り出して別々に表示させたいのです。 「あいうえお」というのをキーボードから入力した後 System.out.println("~あ"); System.out.println("~い"); System.out.println("~う"); System.out.println("え~"); System.out.println("お~"); ~は適当な文字が入るとします。 などのように全く別々に使いたいのです。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
PED02744さんのヒントから1つ目を作ってみました。 import java.io.*; class MojiToAscii { public static void main(String args[]){ try{ int num=0; BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); String str=br.readLine(); num=str.length(); System.out.println("入力は"+num+"文字です。"); char[] c=new char[num]; int[] n=new int[num]; for(int i=0;i<str.length();i++){ c[i]=str.charAt(i); // String→char n[i]=c[i]-'A'+1; //番号=ASCIIコード-ASC(A)+1 System.out.println(n[i]); } }catch(IOException e){ System.out.println("エラー"); } } }
その他の回答 (1)
- PED02744
- ベストアンサー率40% (157/390)
JAVAがわからないではなくて、プログラミングテクニックがわからない ・・・ってことですね。 (1)A→1,B→2,...,Z→26 としたい 普通に考えれば、 String→char[] に変換 各char[n]から'A'を引いて1を足す でいいんじゃないかな? (2)一文字ずつ切る 同上。 メソッド一発で一文字ずつ切れます。