如何修复没有这样的元素异常错误? [重复]

问题描述 投票:0回答:0

所以,我试图制作第二个选项菜单,但我的 java 代码中一直出现错误。 这是我的课:

package StockAnalysis;

import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;  
import org.jsoup.Jsoup;  
import org.jsoup.nodes.Document;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.util.Scanner;
import java.util.NoSuchElementException;

public class SearchStock {
    public static void search() throws IOException, NoSuchElementException{  
        String tickerSymbol;
        String option;
        System.out.println("");
        System.out.println("Enter Ticker Sysmbol:");
        try (Scanner tikSymbol = new Scanner(System.in)) {
        tickerSymbol = tikSymbol.next();
        tikSymbol.close();
    }
        String URL = "http://finance.yahoo.com/quote/"+tickerSymbol+"?p="+tickerSymbol+"&.tsrc=fin-srch";
        System.out.println("Gathering Stock Info");
        Document doc = Jsoup.connect(URL).get();
        Elements contentA = doc.getElementsByClass("D(ib) Fz(18px)");
        Elements contentC = doc.getElementsByClass("Bxz(bb) Bdbw(1px) Bdbs(s) Bdc($seperatorColor) H(36px) ");
        System.out.println("|------------------------------------------------|");
        for(Element a: contentA){
        System.out.println("| Name: "+a.text());
        for(Element c: contentC)
        System.out.println("| "+c.text());
        System.out.println("|------------------------------------------------|");
        System.out.println("|                     Options:                   |");
        System.out.println("|------------------------------------------------|");
        System.out.println("|                  1. Save Stock                 |");
        System.out.println("|                  2. Pend Stock                 |");
        System.out.println("|                     3. Home                    |");
        System.out.println("|              4. Find Another Stock             |");
        System.out.println("|                 5. Update Info                 |");
        System.out.println("|------------------------------------------------|");
        }
    
    try (Scanner choseOption = new Scanner(System.in)) {
            option = choseOption.next();
            if(option.equals("1")){
               System.out.println("pls work");
            }else if(option.equals("2")){
               System.out.println("Not Availible");
            }else if(option.equals("3")){
                System.out.println("Not Availible");
            }
            choseOption.close();
        }
}
}
          
    
    
    

在我这样做之后,我通过编译器运行它,并在最后一次打印 1n 之后立即运行。 这是编译器错误:

Exception in thread "main" java.util.NoSuchElementException
        at java.base/java.util.Scanner.throwFor(Scanner.java:937)
        at java.base/java.util.Scanner.next(Scanner.java:1478)
        at StockAnalysis.SearchStock.search(SearchStock.java:45)
        at StockAnalysis.Home.main(Home.java:23)

你能告诉我这个错误是什么以及如何解决这个问题吗?

我所做的是让整个类都可以访问选项字符串,并尝试使方法 search(String[] args),并尝试抛出 no such element found import。尽管这些都不起作用。我也知道主要方法不是问题。可能这可能与在一种方法中使用 2 个扫描仪有关? (抱歉代码格式不好,还没到)

java runtime-error nosuchelementexception
© www.soinside.com 2019 - 2024. All rights reserved.