【发布时间】:2016-12-12 16:19:33
【问题描述】:
我正在寻求帮助以解决我的问题。在学习了大量 C++ 之后,我们才开始在我们的课程中学习简单的 java。
我们的奖励任务之一是为那些比课堂上所教的代码更了解代码的人提供的。
任务如下: 编写一个名为 lettersSeries 的函数,用于获取用户输入的字母(一次一个字母,假设所有字母都是小写)。一旦用户连续输入了 3 个字母,该函数将停止接受用户的字母。 (只有for循环可以不用while循环)
示例:a -> b -> a -> c -> d -> e(这里是停止)
目前我知道的不多,如果有人能帮助我,我会很高兴...我尝试了一些选项,但我不知道如何追踪字母表,尤其是如何检查字母是否连续...
谢谢!
public static void letterSeries() {
//We create a scanner for the input
Scanner letters = new Scanner(System.in);
for(Here I need the for loop to continue the letters input) {
//Here I need to know if to use a String or a Char...
String/Char letter = next.<//Char or String>();
if(Here should be the if statement to check if letters are consecutive) {
/*
Here should be
the rest of the code
I need help with
*/
显然,您可以更改代码,而不是制作我的模式,我会更喜欢更简单的方法!
【问题讨论】:
-
尝试编写一些代码。做一个谷歌搜索。当你被卡住时。告诉我们具体问题,我们将很乐意为您提供帮助。
-
提示:要跟踪连续的字母,保存之前的字母,如果距离为 1,则用当前检查。当距离为 1 时,增加一个 var,如果不是,将 var 重置为 0。当 var 为 3 , 停止。多花点力气(代码),有问题再回来。
-
如果您知道如何使用
while循环来解决它,那么将其转换为for循环就很容易了。循环while (<cond>) { ... }可以像for循环一样容易地编写为空的初始化和增量部分:for (; <cond>;) { ... }。也许不是本着任务的精神,但它遵守法律条文。 :) -
我不知道如何检查字母是否连续......
-
如果
newLetter - currentLetter == 1,字母是连续的。在应用此测试之前,您可能需要先处理案例更改。
标签: java string alphabetical