これは私が実装したコードですが、複数のデータ配列をインクリメンタルオーダーで取得していますが、データの配列が1つ必要です。どのように私はそれにアプローチするのですか?また、キャッチブロック内にキャッチしようとしていますか?テキストファイルからデータ型を分離する方法は?
Text File:
The 1493 fox 0.4 -6.382 jumped -832722 0 1 9E-21 162 over the dog!
例:データが追加されるたびに倍の値が印刷されます。
@SuppressWarnings("resource")
Scanner s= new Scanner(new File("src/inputs.txt")).useDelimiter("\\s+");
ArrayList<Long> itr= new ArrayList<Long>();
ArrayList<Double> dub = new ArrayList<Double>();
ArrayList<String> str = new ArrayList<String>();
while(s.hasNext())
{
String str1=s.next();
try
{
long b=Long.parseLong(str1);
itr.add(b);
System.out.println("Integer values are ::"+itr);
}
catch(NumberFormatException e)
{
try
{
double b1=Double.parseDouble(str1);
dub.add(b1);
System.out.println("Double values are ::"+dub);
}
catch(NumberFormatException e1)
{
String b2 = (String) str1;
str.add(b2);
System.out.println("String Values are"+str);
}
}
}
}}
予想される出力:
Integer values are ::[1493, -832722, 0, 1]
Double values are ::[0.4, -6.382, 9.0E-21]
String Values are[The, fox, jumped, over, the, dog!]
@Bohemian Updated ..... – Box
Arraylistをwhileループの外側に表示します。 – pikrut
私は@pikrutに同意します。アルゴリズムの最後に3つのprintlnをwhileの外側に移動します。また、なぜ最初の型にIntegerの代わりにLongを使用していますか? – RubioRic