java - 初始化问题?

标签 java

我正在尝试制作一个程序,让用户输入未知的名称值,然后输出输入的最长名称。这是我到目前为止的代码。当我编译时,我有几个错误,它们都是相同的“找不到符号”。如果需要的话,我需要在哪里初始化这些变量吗?

import java.util.Scanner; 
public class Name 
{ 
    public static void main(String[] args) 
    { 
        Scanner kb = new Scanner(System.in); 
        longestName(kb); 
    } 
    public static void longestName(Scanner sc) 
    {

        String name=kb.nextLine();
        biggestName=name;
        System.out.println("Type -1 if you want to quit");
        int number=kb.nextInt();
        While (number !=-1); 
        { 
            String name1=kb.nextLine();
            if (name1.length() > biggestName)
            {
                biggestName=name1;
            }
            System.out.println("Do you want to continue? Type -1 to quit.");
            int number1=kb.nextInt();
        }
        System.out.println("Longest name is "+biggestName);

    }
}

感谢大家帮助修复了错误,并进行了一些其他更改,程序给出了正确的输出。

import java.util.Scanner; 
public class Name 
{    
    public static void main(String[] args) 
    { 
        Scanner kb = new Scanner(System.in); 
        longestName(kb); 
    } 
    public static void longestName(Scanner kb) 
    {

        String biggestName;
        System.out.println("Enter the first name");
        String name=kb.nextLine();
        biggestName=name;
        System.out.println("Type -1 if you want to quit");
        int number=kb.nextInt();
        while (number !=-1) 
        { 
            System.out.println("Enter another name");
            Scanner kb1 = new Scanner(System.in);
            String name1=kb1.nextLine();
            int length1=biggestName.length();
            int length2=name1.length();
            if (length2 > length1)
            {
                biggestName=name1;
            }
            System.out.println("Do you want to continue? Type -1 to quit.");
            number=kb.nextInt();
        }
        System.out.println("Longest name is "+biggestName);

    }
}

最佳答案

您的代码中有很多错误。在没有详细解释每个错误的情况下,这里是一个有效的修改版本的示例:

import java.util.Scanner; 
public class Name 
{ 
    public static void main(String[] args) 
    { 
        Scanner kb = new Scanner(System.in); 
        longestName(kb); 
    } 
    public static void longestName(Scanner sc) 
    {
        System.out.println("Enter name, or type '-1' if you want to quit");

        String name=sc.nextLine();
        String biggestName="";

        while (!name.equals("-1")) 
        { 
            if (name.length() > biggestName.length())
            {
                biggestName=name;
            }
            name=sc.nextLine();
        }
        System.out.println("Longest name is "+biggestName);

    }
}

关于java - 初始化问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15668519/

相关文章:

java - 如何运行包含 clojure 和 java 代码编译的类文件的 jar 文件。 java文件包含main方法

java - 使用 JAXB 解码 xml 字符串但得到空字符串

java - 玩!框架日志记录仅适用于系统级别

java - 3-Sum Java 到 Python 的转换

java - 将列表从 Java(使用 JDBC)传递到 Microsoft SQL Server 的最佳方法

java - 为什么我的宇宙飞船没有出现?

java - WebFlux : how to work takeUntilOther() method?

c# - 在 C# 中,私有(private)成员变量或构造函数首先触发什么,为什么?

java - 使用页面对象模型(java)处理导航的最佳方法是什么

Java 8 字符串内存不足错误