Java:将String数组项解析为,int,double或string
发布时间:2020-12-15 02:10:46 所属栏目:Java 来源:网络整理
导读: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
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. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |