加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读