对于我在课堂上的项目,我必须计算一下这个项目 例如,如果输入是这一行:
ab ab.
总共会有6个朋友 这是:
"ab", "b ", " a", "ab", "b." and ".\n"
如何通过char扫描输入char并查找所有diad?
我现在拥有的是:
int i=0;
while(input.hasNext()){
char c = input.next().charAt(i);
i++;
System.out.println(c);
}
但是,这只能一次打印出一个字符串。任何人都可以帮我修改我的代码吗?
答案 0 :(得分:0)
一旦完全阅读该行而不是使用Scanner
,您应该对您的字符进行迭代,如下所示:
String input = "ab ab.\n";
for(int i = 0; i < input.length() - 1; i++){
String c = "" + input.charAt(i) + input.charAt(i + 1);
System.out.println(c);
}
答案 1 :(得分:0)
对,您可能希望将其视为伪代码,因为我不是用Java编程,但无论语言如何,逻辑都是相同的。
您希望将先前的char读取保存在单独的变量中,以便您可以将其连接到当前读取的char以将其转换为diad。
我们在第一个循环中什么都不做,所以我们有2个字符开始。这就是if (p == '\0') continue;
的用途。
int i = 0;
char p, c = '\0';
while (input.hasNext())
{
p = c;
c = input.next().charAt(i++);
if (p == '\0') continue; // Check that p is not null (so that we have 2 chars)
System.out.println("{0}{1}", p, c);
}