java - 使用 JAVA - 如何在不使用数组的情况下计算输入字符串的总和及其长度?
问题描述
我没有得到正确的输出......在JAVA中这个函数有什么帮助吗?
预期的输出应该是:
输入的词长总和为:9(取决于用户输入)
最长的词是:Oranges,长度为 7
最短的词是:Ox,长度为 2
注意:不使用数组。谢谢
这是我的代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args)
{
String line;
Scanner input = new Scanner(System.in);
int count = 0;
while (!(line = input.nextLine()).isEmpty())
{
System.out.println("Enter word: ");
count++;
} System.out.println("The total sum of the word lengths entered was: " + count + " words. ");
System.out.println("The longest word was: " input + " with length " + input.length);
System.out.println("The shortest word was: " input + " with length " + input.length);
}
}
解决方案
在您的 while 块中(在 {} 对之后while
的行)中,您有某人输入的行。它是字符串类型。
如果你在 Java 中查找 String 类,你会发现它有一个 for 的方法length()
,所以这就是你获取行长的方法(line.length()
返回一个 int 长度)。
要跟踪最长的行,您需要在 where count
is declared 的地方声明一个变量,该变量将存储输入的最长行。对于每条线,将您拥有的线的长度与迄今为止遇到的最长长度进行比较;如果当前是最长的,则存储它的长度(和它的值,如果你也需要的话,在一个声明在 count 和最长行值旁边的变量中)。我指出将它们放在哪里的原因是它们需要在 while 循环之外声明,以便您可以在循环完成后引用它们。
Shortest 以相同的方式完成,但变量不同。
祝你好运 - 如果需要,请发布更多问题!我试图给你足够的信息,让你可以自己编写实际的代码,但很难衡量那是多少。
推荐阅读
- vba - PowerPoint VBA 是否可以发送 POST 请求?
- python - pyspark pandas udf RuntimeError:返回的列数与指定的模式不匹配
- authentication - 登录并设置 cookie 后 User.Identity.IsAuthenticated 为 false
- rest - 如何使用 Rest API 调用更新 TM1 Cube 数据
- r - 数列因子的计数因子实例
- javascript - 在 Vue 中动态添加带有事件的不同组件
- php - 如何从字符串中删除最后一个逗号和所有空格,然后使用 PHP 对其进行清理?
- javascript - location.href 不起作用(重新加载同一页面)
- ruby - 从左到右列的引导网格布局
- node.js - express.js 在初始加载后重新加载时找不到路由