首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java.util.Scanner.throwFor处的线程"main“java.util.NoSuchElementException中出现异常(Scanner.java:862)

Java.util.Scanner.throwFor处的线程"main“java.util.NoSuchElementException中出现异常(Scanner.java:862)
EN

Stack Overflow用户
提问于 2018-06-08 02:36:38
回答 2查看 9.8K关注 0票数 1

我真的看不出有什么问题。这是我得到的错误:

`$javac Palindrome.java     $java -Xmx128M -Xms16M Palindrome     Enter your word     Exception in thread "main" java.util.NoSuchElementException     at java.util.Scanner.throwFor(Scanner.java:862)     at java.util.Scanner.next(Scanner.java:1485)     at java.util.Scanner.nextInt(Scanner.java:2117)     at java.util.Scanner.nextInt(Scanner.java:2076)     at Palindrome.main(Palindrome.java:28)` 

代码如下:

import java.io.*;
import java.util.Scanner;
import java.util.*;
import java.lang.StringBuffer;
// Java program to illustrate checking of a string
// if its palindrome or not using reverse function
public class Palindrome
{
public static void checkPalindrome(String s)
{
// reverse the given String
    String reverse = new StringBuffer(s).reverse().toString();
// check whether the string is palindrome or not
if (s.equals(reverse))
System.out.println("Yes");
else
System.out.println("No");
}
public static void main (String[] args) throws java.lang.Exception
{
Scanner scanner = new Scanner(System.in);
System.out.println("Enter your word");
String output = scanner.next();
}
}

我请求输入单词,然后获取输入以检查它是否是回文

EN

回答 2

Stack Overflow用户

发布于 2019-02-15 05:19:55

在联机编辑器中,此问题发生在输入中。在获取输入之前尝试编写:

    if(sc.hasNext())

代码可以写成:

    public class Palindrome
    {
    public static void checkPalindrome(String s)
    {
    // reverse the given String
        String reverse = new StringBuffer(s).reverse().toString();
    // check whether the string is palindrome or not
    if (s.equals(reverse))
    System.out.println("Yes");
    else
    System.out.println("No");
    }
    public static void main (String[] args) throws java.lang.Exception

    Scanner scanner = new Scanner(System.in);
    System.out.println("Enter your word");

    if(sc.hasNext())

    String output = scanner.next();
    }
    }
票数 2
EN

Stack Overflow用户

发布于 2018-06-08 06:30:50

我不能发表评论,因为我没有足够的声誉。但是解决方案是你没有输入源。

堆栈跟踪引用的行是:

 private void throwFor() {
    skipped = false;
    //since you are using an online tool, you dont actually have an
    //input unless you click on the stdin tab and provide an input.
    if ( (sourceClosed) && (position == buf.limit()))
        throw new NoSuchElementException();
    else
        throw new InputMismatchException();
}

只需按下stdin选项卡并在其中键入一些内容,然后在您的在线ide中执行代码,您应该不会再收到异常。但您应该提供某种类型的输出,以反映您的结果,无论它是一个回文:)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50748075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档