首页 > 解决方案 > 使用 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);
  }
}

标签: java

解决方案


在您的 while 块中(在 {} 对之后while的行)中,您有某人输入的行。它是字符串类型。

如果你在 Java 中查找 String 类,你会发现它有一个 for 的方法length(),所以这就是你获取行长的方法(line.length()返回一个 int 长度)。

要跟踪最长的行,您需要在 where countis declared 的地方声明一个变量,该变量将存储输入的最长行。对于每条线,将您拥有的线的长度与迄今为止遇到的最长长度进行比较;如果当前是最长的,则存储它的长度(和它的值,如果你也需要的话,在一个声明在 count 和最长行值旁边的变量中)。我指出将它们放在哪里的原因是它们需要在 while 循环之外声明,以便您可以在循环完成后引用它们。

Shortest 以相同的方式完成,但变量不同。

祝你好运 - 如果需要,请发布更多问题!我试图给你足够的信息,让你可以自己编写实际的代码,但很难衡量那是多少。


推荐阅读