【发布时间】:2014-01-04 07:58:41
【问题描述】:
我正在尝试导入一个 Web 文件,其中包含对应于图形顶点的数字。第一行说明有多少个顶点。所以我定义了一个 int verticesAmount 来对应有多少个顶点。之后,我启动了一个 for 循环来查看文件中每一行的输入,然后使用 .split(" ") 方法将每个数字拆分为一个数组。到目前为止,一切都编译得很好,当我打印出数组时,我刚刚把它打印出来了。但是,当我尝试将数组的每个元素转换为 INT 时,我得到一个编译器错误,我不知道为什么。任何帮助,将不胜感激。谢谢。
import java.util.Scanner;
import java.io.*;
import java.util.ArrayList;
public class Graph {
public static void main(String[] args)throws Exception{
ArrayList<ArrayList<Integer>> array;
Scanner input2 = new Scanner(System.in);
System.out.println("Enter a URL");
String urlString = input2.next();
java.net.URL url = new java.net.URL(urlString);
Scanner input = new Scanner(url.openStream());
String verticesAmount = input.next();
int amount = Integer.parseInt(verticesAmount);
String[] stringArray = new String[10];
ArrayList<Integer> row = new ArrayList<Integer>();
String line;
for(int i = 0; i < amount; i++){
line = input.nextLine();
stringArray = line.split(" ");
for(int j = 0; j < stringArray.length; j++)
row.add(Integer.parseInt(stringArray[j]));
【问题讨论】:
-
在您的问题中,您说“当我尝试 cast 时”,但我在您的代码中看不到任何强制转换。你指的是
parseInt这里吗?您是否在parseInt看到错误? -
这是我得到的错误:线程“main”中的异常 java.lang.NumberFormatException:对于输入字符串:“”在 java.lang.NumberFormatException.forInputString(Unknown Source) 在 java.lang。 Integer.parseInt(Unknown Source) at java.lang.Integer.parseInt(Unknown Source) at Graph.main(Graph.java:29)
-
我明白了。您的数字不会被一个空格隔开。我可以给出答案。
-
是的,我想我把这两个术语弄混了。我正在尝试将 String 数组的每个元素解析为 int