16進数を10進数に変換するプログラムをゆっくりと書き込もうとしています。自分でやりたいので、完成したよく知られたコードを読むことに興味はありません。アイデアはありますが、何か邪魔があります。
import java.util.Scanner;
public class Test{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
String any = input.nextLine();
char[] cArray = any.toCharArray();
for(int i=0; i<cArray.length; i++){
System.out.print(cArray[i]+" ");
}
}
}
Input: ab12
Output: a b 1 2
私は置き換えたいa
と10
、b
と11
、c
と12
、など
forループ内にifステートメントを追加すると機能します。
for(int i=0; i<cArray.length; i++){
if(cArray[i] == 'a'){
cArray[i] = '10'; // doesn't work, read below
}
System.out.print(cArray[i]+" ");
}
問題は、私は置き換えたいですa
と10
し、10
それは2つの文字から成り立っていますので、もう文字ではありません。そのため、このコードをstrings
代わりに使用する方法を知りたいのcharacters
ですが?
ヒント
'a' - 87 = 10
したがって、次を使用できます。
(int) cArray[i] - 87
理由:
(int)'a' = 97
あなたがアイデアを得ることを願っています。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加