2017-02-13 4 views
0

数字を含む文字列にcharAt()を使うと、そのインデックスに格納されている数字の48 +が返されます。なぜ正確に?私のオブジェクトは別のオブジェクトのパラメータを使って答えを返しています

例:

import java.util.*; 
public class otherApples { 

    public static void main(String args[]){ 
     Scanner scan = new Scanner(System.in); 
     String neuwt = scan.nextLine(); 
     int i = neuwt.charAt(2); 
     System.out.println(i); 
    } 
} 

intput: 523 
output: 51 
+0

try 'neuwt.charAt(2) - '0'' – flakes

+0

あなたはどんな出力を期待しましたか?あなたは "ABC"に何を期待しますか? – shmosel

答えて

2

iあなたは3あなたが期待しているになるだろうcharた場合は文字「3」はASCII文字コード51

を持っているので。

1

文字 '0' 48 '1' のASCIIコードを持っている49というようにです。

つまり、'0' == 48です。あなたが見ているものは正しいです、あなたはASCIIコードを見ているだけで、それらのコードが表す実際の文字ではありません。

+0

ありがとう、ありがとう。 – Pleedoh

関連する問題