将字符串转换为ASCII和ASCII字符串

问题描述:

这是我将字符串转换为ASCII和ASCII转换为字符串的代码。当用户输入带有空格的文本时,所有文本都没有转换,但是如果我在程序中写入文本转换的文本,我遇到了问题。这是我的输入“Java很容易”将字符串转换为ASCII和ASCII字符串

String str = input.next(); 
//String str = "Java is easy"; 

char ch[] = str.toCharArray(); 
int num[] = new int[str.length()]; 

for (int i = 0; i < str.length(); i++) { 
    System.out.print((int)ch[i] + " "); 
    num[i] = (int)ch[i]; 
} 
System.out.println(""); 
for (int j = 0; j < str.length(); j++) { 
    System.out.print((char)num[j]); 
} 
System.out.println(""); 
+0

所以会发生什么?阅读用户输入代码在哪里? –

+0

扫描仪输入=新扫描仪(System.in); – gemy

+0

'String'和'char'用于UTF-16编码单元,其中一个或两个编码Unicode编码点。如果您希望Unicode的子集与ASCII相同,则必须检查。 –

Scanner.next()读取一个单词,即“Java”。

Scanner.nextLine()读取整条生产线,即 “Java是简单的”

你应该改变

String str = input.next(); 

String str = input.nextLine();