繁体   English   中英

我如何添加int。 到字符和字符串以在输出中获得“abc”? (对于 Java)

[英]How do I add int. to char and string to get "abc" in the output? (For Java)

所以我得到了这个格式化的问题,并被告知修复格式以获得输出。

int x = 0;
int y = 1;
char p = 'a';
String s = "c"

格式为 (p + x + p + y + s)

我应该改变这个(只要我使用 x,y,p,s)使输出为“abc”。

我该怎么做呢? 我得到的最远的是

System.out.println(p=(char)((int)p+x));

这使得输出“a”。

我该怎么办? 请帮忙! 我是一个非常新的程序员。 提前致谢。

我尝试了以下有效的方法:

int x = 0;
int y = 1;
char p = 'a';
String s = "c";

StringBuilder builder = new StringBuilder();
builder.append((char)((int)p+x)).append((char)((int)p+y)).append(s);
System.out.println(builder.toString());

它打印: abc

System.out.println(p + String.valueOf((char)(p+y)) + s);

感谢您提出这个问题,我可能永远不会知道 String 构造函数不只采用单个字符作为参数。

为清楚起见:

String.valueOf() 将字符 p+y 作为字符串返回。

当您在所有三个之间使用 + 时,它们会连接在一起。

编辑 - 关于您对代码所做的操作的注释是:

System.out.println(p=(char)((int)p+x));

你在这里覆盖了字符变量p的值,它已经用p+x的值存储了字符'a'的值。 这里, x是 0,所以它将被添加到存储在 p 中的字符的 ASCII 值,即'a'并产生相同的结果。

另一个注意事项是,即使x是 0 以外的其他值,您也不必先将类型转换为(int) ,您可以直接将其类型转换为(char) 而且由于您存储该操作的变量本身就是一个字符,因此您根本不需要任何类型转换!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM