首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java StringTokenizer辅助

Java StringTokenizer辅助
EN

Stack Overflow用户
提问于 2017-11-09 02:29:50
回答 3查看 34关注 0票数 0

因此,我有一个单独的程序,它需要一个格式为: final static private string INITIAL = "281043765";(没有空格)的数字字符串。到目前为止,这个程序对数字的硬编码赋值非常有效。我需要让程序读取txt文件,并将文件中的数字赋给初始变量,而不是在代码中键入数字

为此,我尝试使用StringTokenizer。我的实现输出7,2,4,5,0,6,8,1,3。我需要它输出没有"[]“或",”或每个数字之间的空格的数字。让它看起来和首字母完全一样。我知道我可能需要把[]和,作为分隔符,但原始的txt文件纯粹是数字,我不相信这会有帮助。这是我的代码。(请忽略所有评论)

代码语言:javascript
复制
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.StringTokenizer;

public class test {
//public static String num;
static ArrayList<String> num;
//public static TextFileInput myFile;
public static StringTokenizer myTokens;
//public static String name;
//public static String[] names;
public static String line;

public static void main(String[] args) {

    BufferedReader reader = null;

    try {
        File file = new File("test3_14.txt");
        reader = new BufferedReader(new FileReader(file));
        num = new ArrayList<String>();
        while ((line = reader.readLine())!= null) {       


            myTokens = new StringTokenizer(line, " ,");
            //num = new String[myTokens.countTokens()];

               while (myTokens.hasMoreTokens()){
                   num.add(myTokens.nextToken());

            }        
         }    
            System.out.println(num);   

    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    }

}

EN

回答 3

Stack Overflow用户

发布于 2017-11-09 02:36:52

您当前正在打印ArrayList的默认.toString()实现。试着这样做:

代码语言:javascript
复制
for (String nbr : num) {
   System.out.print(nbr)
}
票数 0
EN

Stack Overflow用户

发布于 2017-11-09 02:46:31

要去掉括号,必须实际调用ArrayList中的每一项。在你的System.out.println下面试试这个

代码语言:javascript
复制
for(String number : num)
    System.out.print(number);
System.out.println("");

您还可以提供示例输入数据吗?

票数 0
EN

Stack Overflow用户

发布于 2017-11-09 02:46:34

尝试将space,替换为empty字符串

代码语言:javascript
复制
line = StringUtils.replaceAll(line, “,” , “”);
line = StringUtils.replaceAll(line, “ “, “”);
System.out.println(line);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47187125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档