Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

stringをintに変換

今こんなプログラミングを作ってます。
import javax.swing.*;
public class VINChecker
{
    public static void main(String[]arg)
    {
    
        int valA=0,valB=0,valC=0,valD=0,valE=0,valF=0,valG=0,valH=0;
        int valI=0,valJ=0,valK=0,valL=0,valM=0,valN=0,valO=0,valP=0;
        int digit=0;
        String vin="";
        int char1=0,char2=0;
                
        vin=JOptionPane.showInputDialog(null,"Enter the VIN (must be 1 letter)");
        vin=vin.toUpperCase();
        
        if(vin.charAt(0)=='A'|| vin.charAt(0)=='J')
            valA=1*8;
        else
            if(vin.charAt(0)=='B' || vin.charAt(0)=='K' || vin.charAt(0)=='S')
            valA=2*8;
        else
            if(vin.charAt(0)=='C' || vin.charAt(0)=='L' || vin.charAt(0)=='T')
            valA=3*8;
        else
            if(vin.charAt(0)=='D' || vin.charAt(0)=='M' || vin.charAt(0)=='U')
            valA=4*8;
        else
            if(vin.charAt(0)=='E' || vin.charAt(0)=='N' || vin.charAt(0)=='V')
            valA=5*8;
        else
            if(vin.charAt(0)=='F' || vin.charAt(0)=='W')
            valA=6*8;
        else
            if(vin.charAt(0)=='G' || vin.charAt(0)=='P' || vin.charAt(0)=='X')
            valA=7*8;
        else
            if(vin.charAt(0)=='H' || vin.charAt(0)=='R' || vin.charAt(0)=='Y')
            valA=8*8;
        else
            if(vin.charAt(0)=='Z')
            valA=9*8;
        else
            if(vin.charAt(0)=='1')
            char1=Integer.valueOf(vin.charAt(0));
            valA=char1;
                    
        System.out.println(vin+ "\n" + valA);
            
        




            
            
            
        System.exit(0);
    }
}
     
stringをintに変換しようとしているプログラミングです。
まだ途中なんですが、ためしにコンパイルして実行しました。
値「1」を入力すると、

1
49
と実行されました。
49の部分は1としたいのにどうして49が出てしまうのでしょうか?

3

回答

2758

閲覧

3件の回答

評価

0

デバッグしましょう。

評価

0

んぁ?
文字'1'に対するASCIIコードだったりしねぇ?

http://e-words.jp/p/r-ascii.html

http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/Integer.html

多分parseIntの方が適切なんじゃ?
×:Integer.valueOf(vin.charAt(0));
○:Integer.parseInt(vin.charAt(0));

とあたしは思った。
勿論、間違っている可能性は高い。

評価

0

見たところこれでいいのでは?
Stringをintですから「1」を押したら'1'の
intになるのでこれであっていますよ。
それとも「1〜9の入力は1〜9になる」にしたいのでしょうか。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。