Tag: stringtokenizer

java StringTokenizer – nextToken可以返回null吗?

是否有任何StringTokenizer.nextToken将返回null的情况? 我正在尝试在我的代码中调试NullPointerException,到目前为止,我发现的唯一可能性是从nextToken()返回的字符串返回null。 这有可能吗? 在java doc中没有找到任何内容。 谢谢

在StringTokenizer中使用多个分隔符

我想知道如何在java中使用带有StringTokenizer的多个分隔符。 例如,其中一个!,*,/,^将作为分隔符出现。 此外,一次只能有一个。

使用’.txt’文件中的值填充’JTable’

我是java的新手,我有一个像这样的文本文件 0786160384|PK|Tharindu|912921549v|Colombo| 0711495765|PK|Gamini|657414589v|Colombo| 0114756199|HP|Weerasigha|657895478v|Kandy| 我想用这个文本文件中的数据填充我的’jTable’。 下面是我的代码到目前为止,它不起作用。 当我执行程序时,表格上没有显示任何内容。 private void formWindowOpened(java.awt.event.WindowEvent evt) { String line = null; DefaultTableModel dtm = (DefaultTableModel) PhoneBookTable.getModel(); try { BufferedReader br = new BufferedReader(new FileReader(file)); StringTokenizer st1 = new StringTokenizer(br.readLine(), “|”); while (st1.hasMoreTokens()) { columns.addElement(st1.nextToken()); } while ((line = br.readLine()) != null) { StringTokenizer st2 = new StringTokenizer(line, “|”); while (st2.hasMoreTokens()) […]

使用字符串标记生成器从文本文件中设置创建数组?

嘿。 您可能最近看到我寻找帮助的post,但我之前做错了,所以我将重新开始并从基础开始。 我试图读取一个看起来像这样的文本文件: FTFFFTTFFTFT 3054 FTFFFTTFFTFT 4674 FTFTFFTTTFTF ……等 我需要做的是将第一行放入String作为答案键。 接下来,我需要创建一个包含学生ID(第一个数字)的数组。 然后,我需要创建一个与包含学生答案的学生ID平行的数组。 下面是我的代码,我无法弄清楚如何让它像这样工作,我想知道是否有人可以帮助我。 public static String[] getData() throws IOException { int[] studentID = new int[50]; String[] studentAnswers = new String[50]; int total = 0; String line = reader.readLine(); strTkn = new StringTokenizer(line); String answerKey = strTkn.nextToken(); while(line != null) { studentID[total] = Integer.parseInt(strTkn.nextToken()); studentAnswers[total] = […]

在具有多行的文本文件上使用StringTokenizer时出错

我正在尝试读取文本文件并使用java中的字符串标记生成器实用程序单独拆分单词。 文本文件看起来像这样; a 2000 4 b 3000 c 4000 d 5000 现在,我要做的是从文本文件中获取每个单独的字符并将其存储到数组列表中。 然后我尝试打印arraylist中的每个元素。 这是我的代码; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; import java.util.StringTokenizer; public static void main(String[] args) { String fileSpecified = args[0]; fileSpecified = fileSpecified.concat(“.txt”); String line; System.out.println (“file Specified = ” + fileSpecified); ArrayList words = new ArrayList (); try { FileReader […]

如何从字符串中获取数字?

我正在使用Java StreamTokenizer来提取字符串的各种单词和数字,但是遇到了一个问题,其中包含逗号的数字,例如10,567被读作10.0和567。 我还需要从可能出现的数字中删除所有非数字字符,例如$ 678.00应为678.00或-87应为87。 我相信这些可以通过whiteSpace和wordChars方法实现,但有没有人知道如何做到这一点? 目前基本的streamTokenizer代码是: BufferedReader br = new BufferedReader(new StringReader(text)); StreamTokenizer st = new StreamTokenizer(br); st.parseNumbers(); st.wordChars(44, 46); // ASCII comma, – , dot. st.wordChars(48, 57); // ASCII 0 – 9. st.wordChars(65, 90); // ASCII upper case A – Z. st.wordChars(97, 122); // ASCII lower case a – z. while (st.nextToken() != StreamTokenizer.TT_EOF) […]

Java StringTokenizer,空null标记

我试图将一个字符串拆分为29个令牌….. stringtokenizer不会返回null令牌。 我试过string.split,但我相信我做错了什么: String [] strings = line.split(“,”, 29); 样本输入: 10150,15:58,23:58,16:00,00:00,15:55,23:55,15:58,00:01,16:03,23:58,,,,,16:00,23:22,15:54,00:03,15:59,23:56,16:05,23:59,15:55,00:01,,,, 10155,,,,,,,,,,,07:30,13:27,07:25,13:45,,,,,,,,,,,07:13,14:37,08:01,15:23 10160,10:00,16:02,09:55,16:03,10:06,15:58,09:48,16:07,09:55,16:00,,,,,09:49,15:38,10:02,16:04,10:00,16:00,09:58,16:01,09:57,15:58,,,,

使用StringTokenizer和String.split()之间的区别?

我一直在使用String[] split(String)的String类来拆分某个给定分隔符的任何字符串,并且它工作正常。 但是,现在预计会使用StringTokenizer重新考虑相同的逻辑。 但是使用一个而不是另一个有什么区别和好处。 另外,我觉得在单个调用中split()返回的String[]比使用StringTokenizer类的对象更有效。

公共方法的私有方法

我正在检查StringTokenizer.java类,我想到了一些问题。 我注意到其他类使用的公共方法调用了一些完成所有工作的私有方法。 现在,我知道OOD的原则之一就是尽可能多地隐藏并隐藏所有实现细节。 我不确定我是否完全理解这背后的逻辑。 我理解,将字段设为私有以防止将无效值存储在其中非常重要(这只是众多原因之一)。 然而,当谈到私人方法时,我不确定它们为何如此重要。 例如,在StringTokenizer类的情况下,我们不能将所有实现代码放在公共方法中吗? 它如何对使用这些方法的类产生影响,因为这些方法的API(即调用这些公共方法的规则)将保持不变? 我能想到私有方法有用的唯一原因是因为它可以帮助你编写重复的代码。 例如,如果所有公共方法都做了同样的事情,那么您可以声明一个执行此任务的私有方法,并且可以由公共方法使用。 其他问题,在私有方法中编写实现而不是公共方法有什么好处? 这是一个小例子: public class Sum{ private int sum(int a, int b){ return a+b; } public int getSum(int a, int b){ return sum(a,b); } } VS … public class Sum{ public int getSum(int a, int b){ return a+b; } } 第一个样本如何更有益?

从文本文件中读取数据并创建对象

我需要一些帮助:我正在使用Java进行超市模拟,但我有一个问题,我有一个文本文件(Stock.txt),其中我有所有的超市库存,例如: 0-Bakery-Chocolate Cake- $ 12.5-250 1-Meat-Premium Steak- $ 2.6-120 2-Seafood-Tuna – 1.2-14美元 … 如果第一个数字是产品的“id”,则下一个是产品所属的部门,第三个是产品的名称,下一个是价格,最后一个数字是产品有多少件产品。 我有这堂课: public class Product { protected String name; protected double price; protected String department; protected int id; protected int stock; } 所以,基本上我需要做的是从文本文件中读取每一行并创建产品,即第一行产生如下内容: Product product1 = new Product(0,”Bakery”,”Chocolate Cake”, 12.5, 250); 然后将其添加到数组中 Product[0] = product1; 对于文本文件中的所有内容,然后,在运行模拟时,每个客户将购买随机数量的库存随机产品,因此库存数量将减少。 最后,当模拟结束时,程序必须在同一文本文件中写入每个产品的修改数量。 问题是,这可能太容易了,但我不知道如何做到这一点,因为自从我开始用Java编程(我是初学者)以来,用Java读写文件对我来说是一个真正的问题。 我有一些使用BufferedReader和StringTokenizer类来读取和创建对象问题的想法,但我无法弄明白该怎么做,而且我不知道如何进行覆盖问题。 我真的很感谢你的帮助! 哦! 顺便说一句,我真的只需要使用数组,所以使用ArrayList或任何其他结构,它甚至不是一个选择:(