java:如何使用.txt中的数据创建多个数组
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java:如何使用.txt中的数据创建多个数组,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2269字,纯文字阅读大概需要4分钟。
内容图文
![java:如何使用.txt中的数据创建多个数组](/upload/InfoBanner/zyjiaocheng/692/03c06d33ced240e38a52d61a5dcafd9b.jpg)
所以这是我必须编写的第一个真正的Java程序.
我对Java也相当陌生.
该程序必须使用2个命令行参数(假定是x和y坐标)运行,然后确定坐标位于哪个市和县.为此,我想使用一个“卷号”.
但是,在我可以从程序的那些部分开始之前,我首先需要创建并填充不同的数组,对吗?
.txt文件包含以下内容:(所有地点和坐标都在荷兰顺便说一句)
县市的身份证号码.
例如:
0格罗宁根哈伦
1格罗宁根韭菜
对于前518行,等等.接下来的61650行是这样的坐标:
0 6.665039 53.181004
0 6.666431 53.180642
第一个整数(此处为0)与所在城市相对应
回到问题.文本文件无法更改,我必须像在cmd中那样使用redirection(?):java’programname’< FILENAME.TXT.它应该读取整个文件,创建1个数组,其中的ID号都是整数.一个县和一个市镇的阵列,对吗?但是,当数据在同一行上时,如何创建3个不同的数组(oke 2、1个整数数组和2个字符串数组). 我想使用StdIn.readInt,StdIn.readString和StdIn.readLine,但我只是无法使其工作. 在此先感谢您的帮助. 到目前为止,这就是我所拥有的,它给出了错误,因为(我认为是因为这样)它希望读取一个整数,但是同一行上也有字符串.
public class test{
public static void main(String[] args){
int n = 519;
Integer[] a = new Integer[n];
for(int i = 0; i < n; i++){
a[i] = StdIn.readInt();
StdOut.println(a[i]);
}
}
}
解决方法:
由于不同的条目由行分隔,请阅读完整的行,然后在空格字符处将其分割,然后将第一个转换为int并将其分配给int数组,并将其他两个分配给您的字符串数组:
String line = StdIn.readLine();
String[] split = line.split(" ");
intArray[X] = Integer.parseInt(split[0]);
stringArray1[X] = split[1];
stringArray2[X] = split[2];
您可以循环执行此操作.
要读取类似java -jar your.jar<的文件对于inputFile.txt,您需要将阅读器的输入流设置为System.in,以了解如何执行(或者StdIn是否为您执行此操作),而我不知道StdIn的来源. 编辑 当我正确理解您的信息后,您无需执行任何操作,StdIn就会使用System.in自动进行初始化. 这意味着StdIn.readLine()将返回输入文件的第一行.您可以使用以下命令读取文件的每一行:
while (StdIn.hasNextLine())
{
String line = StdIn.readLine();
// stuff from above
}
要从命令行参数获取x和y,您需要从main方法访问String [] args参数:
int x = Integer.parseInt(args[0]);
int y = Integer.parseInt(args[1]);
请注意,我在此处编写的所有代码都不会检查可能发生的任何异常(例如,如果您不输入两个int).我猜这取决于您的任务(如果它说您可以假定正确的输入,则上面的代码应该可以).
然后,您可以像这样执行Java程序:java -jar your.jar 100 20< inputFile.txt.其中,x的值为100,y的值为20,y的值和inputFile.txt包含位置数据的文件.
内容总结
以上是互联网集市为您收集整理的java:如何使用.txt中的数据创建多个数组全部内容,希望文章能够帮你解决java:如何使用.txt中的数据创建多个数组所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。