[英]Java: Parsing String array items into, int, double, or string
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Arrays;
import java.util.Scanner;
public class DataStructure {
public static void main(String[] aArgs) {
String [] fileContents=new String[6];
File testFile = new File ("testFile.txt");
try{
Scanner testScanner = new Scanner(testFile);
int i=0;
while (i < fileContents.length){
fileContents[i]=testScanner.nextLine();
i++;
}
testScanner.close();
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
finally{
System.out.println(Arrays.toString(fileContents));
}
}
}
上面是我已經為我的程序。 我想要做的是轉換在try部分中創建的字符串數組中的項目,並進一步解析為特定的可用變量int,double等。 我是否應該在創建字符串時解析字符串並廢棄數組? 我不知道如何繼續解析字符串數組。 任何幫助都會很棒...我對java很新...
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Arrays;
import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;
public class DataStructure {
public static void main(String[] aArgs) {
String [] fileContents=new String[6];
ArrayList<Integer> intList = new ArrayList<>();
ArrayList<Double> doubList = new ArrayList<>();
File testFile = new File ("testFile.txt");
try{
Scanner testScanner = new Scanner(testFile);
int i=0;
while (i < fileContents.length){
fileContents[i]=testScanner.nextLine();
i++;
}
testScanner.close();
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
finally{
System.out.println(Arrays.toString(fileContents));
for( int i = 0; i < fileContents.length; i++ ){
if(fileContents[i].contains(".")){
doubList.add(Double.parseDouble(fileContents[i]));
}else{
intList.add(Integer.parseInt(fileContents[i]));
}
}
for(int i = 0; i < intList.size(); i++ ){
System.out.println(intList.get(i));
}
System.out.println(" ");
for(int i = 0; i < doubList.size(); i++ ){
System.out.println(doubList.get(i));
}
}
}
}
由於雙精度和浮點數幾乎相同,只有其中一個能夠保存更大的數據值,我將所有浮點數/雙精度數作為雙精度數並將整數作為整數數據。 我測試了每個字符串,看它是否包含“。” 句點字符,如果它,我把它添加到我的雙打arraylist,如果沒有,我將它添加到我的整數arrayList。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.