我如何使这个字符功能在java中工作
Posted
技术标签:
【中文标题】我如何使这个字符功能在java中工作【英文标题】:How do i make this function of chars work in java 【发布时间】:2015-09-28 23:25:25 【问题描述】:给定一个从 A 到 U 的字符,打印该字符和字母表中接下来的 5 个字符(空格分隔)。打印与给定大小写相同的字符。
static void doStuff(char c)
for(char i='c'; i<='c'+5;i=i+1)
System.out.print(c+"");
【问题讨论】:
您有什么问题?我看到了一个,很容易解决:如果你想要一个空格,用“”替换“”。 同时删除 for 循环中c
周围的单引号并打印 i
而不是 c
。
我猜你想在 for 循环中删除 c 周围的引号。你也可以打印 i 而不是 c。
我做了所有这些,但它不起作用。
@thales78 i = i+1;不适合你,因为 i+1 将产生一个整数数据类型值。所以你必须在外部进行类型转换为 i = (char)(i+1);
【参考方案1】:
您的代码中有错误。在 for 循环中删除 c
周围的单引号,使用预增量 i
(i++
) 并打印 i
而不是 c
。下面的代码可以正常工作。
static void doStuff(char c)
for(char i=c; i<=c+5;i++)
System.out.print(i+" ");
【讨论】:
谢谢这个结果很好! thx thx thx!我写了 i=i++ 我猜那是错误的,因为只有 i++ 起作用了。我认为 i=i+1 也应该有效?我会试试看。再次感谢! 我也试过 i=i+1 为什么不行。和i++是一样的吧? @thales78 i = i+1;不适合你,因为 i+1 将产生一个整数数据类型值。所以你必须在外部进行类型转换为 i = (char)(i+1);【参考方案2】:class Alphabets
public static void main(String args[])
char ch;
for( ch = 'a' ; ch <= 'a'+4 ; ch++ )
System.out.println(ch);
【讨论】:
【参考方案3】:试试这个 -
public class Alphabets
public static void main(String args[])
//char c = 'p';
char c = 'P';
for(int i = c; i<=c+5; i++)
System.out.print((char)i +" ");
for at you loop 的一些点 -
for(char i='c'; i<='c'+5;i=i+1)
1. 字符 i='c'。在这种情况下这是不正确的。现在它正在引用字符'c',无论给定的字符是什么函数。
我已将其更改为i=c
。
2.如果你写i<='c'+5
,那么可能会发生错误(基于你的jvm版本) - 可能会丢失精度,同时转换int
分配结果(从右侧)到i
(在左侧)。
【讨论】:
在这种情况下,这两者是同一回事。在这里,您可以将i++
作为i=i+1
的缩写形式。它对我有用,您可以在您的方法doStuff(char c)
中尝试这种技术。
i=i+1 给我一个错误,所以我相信它们不一样。
它给出的错误剂量,请添加错误消息。
@Razib,@thales78 i = i+1;不起作用,因为 i+1 将产生整数数据类型值。所以我们必须在外部进行类型转换为 i = (char)(i+1);我认为这是正确的。
@thales78,@Jarachanthan Ratnakumar。抱歉,我忘记提及我已将 i
设为 int 而不是 char
。因此,如果您将 i
设置为 int
而不是 char
,它可以正常工作而不会出现任何错误【参考方案4】:
你可以试试这个——
static void doStuff(char c)
for(int i = c; i<=c+5; i++)
System.out.print((char)i +" ");
【讨论】:
以上是关于我如何使这个字符功能在java中工作的主要内容,如果未能解决你的问题,请参考以下文章