【发布时间】:2017-09-05 13:10:27
【问题描述】:
我正在慢慢尝试编写一个将十六进制数转换为十进制数的程序。我对阅读已完成的、众所周知的代码不感兴趣,因为我想自己做。我有一个想法,但有一些东西干扰了我。
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
我想用10替换a,用11替换b,用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]+" ");
}
问题是我想用10 替换a,而10 不再是一个字符,因为它由两个字母组成。这就是为什么我想知道如何让这段代码使用strings 而不是characters?
【问题讨论】: