在我的课堂上,我们使用方法来计算文本文件中的数据。如果我有一个看起来像这样的文件:
Bob
25
Molly
30
Dylan
10
Mike
65
有没有无论如何从文件中提取此数据,然后将其发送到一个方法来计算,然后返回该计算以显示在main上?我很困惑Java如何跳过每一行,计算数字而不是人名。我在考虑使用inputFile.nextDouble();
和inputFile.nextLine();
。但是,如果我应该将这些文本文件行变量读取为双打,我如何能够设置字符串读取文本文件中的行?抱歉问了你这么多问题我纠结了很久快把我逼疯了
我建议您使用ArrayList
阅读完整文件:
Scanner s = new Scanner(new File(//Here the path of your file));
int number;
String name;
ArrayList<String> list = new ArrayList<String>();
while (s.hasNext())
{
list.add(s.nextLine());
}
现在您拥有了文件的所有行(作为字符串
),因此现在您可以使用其中的完整数据进行操作。
此外,数字在偶数行中,因此您可以使用循环遍历所有行,并检查您现在使用的行是否为偶数。
for(int i = 0; i < list.size(); i++)
{
if(i%2 == 0)
{
number = Integer.parseInt(list.get(i));
//You can use the references to your methods with this number
}
else
{
name = list.get(i);
}
}
使用%
,您将获得除法的其余部分(我使用的是对数字的属性)。使用我nteger.parseInt
,您将解析您的String
到int
。
所以现在你将可以使用这些数字来操作或者任何你想要的东西。
编辑:这里有一个不使用ArrayList
的示例。在这种情况下,我将使用nextLine()
和nextInt()
函数:
Scanner s = new Scanner(new File(//Here the path of your file));
int count = 0;
int number;
int name;
while(s.hasNext())
{
if(i%2 == 0)
{
number = s.nextInt();
s.nextLine();
//You can use the references to your methods with this number
}
else
{
name = s.nextLine();
}
count = count + 1;
}
如果您对我为什么在number
之后使用s.nextLine()
而不存储任何值有疑问,您可以查看我对这个问题的答案:为什么扫描仪输入不工作?
期待对你有所帮助!
您应该交替使用nextLine()
和nextInt()
Scanner sc=new Scanner(new File(/* Path to the file*/));
int i=0;
while(sc.hasNext())
{
if(i==0)
{
name=sc.nextLine();
}
else
{
number=sc.nextInt();
}
i=1-i;
}
问题内容: 有谁知道我可以使用node.js读取文件元数据的方法吗?对于 例如,我想读的“细节” jpeg格式的选项卡上的“注释”属性 的文件(在Windows计算机上)。 问题答案: 有许多NPM包可用于读取EXIF数据。例如:
问题内容: 我正在编写小型且非常干燥的框架,该框架高度依赖元数据。我想知道是否有一种方法来获取方法参数名称,即给定一些方法 得到的字符串和。 我知道我可以注释参数,但是那不是很好。 问题答案: 我们为包含参数名称的String[]的方法创建了一个自定义注释。与必须注释每个单独的参数相比,此方法感觉易于管理。我们计划添加构建时检查,以确保带注释的参数名称的数量与参数的数量匹配,因为这是我们所需要的。
问题内容: 嗨,我想使用WMI类来查找应用程序和产品信息。但是问题是我想使用Java或任何脚本语言(如python,javascript或perl)。我听说过JWMI,这可能是一个选择。有人可以帮我吗??? 问题答案: JavaScript和Java不是一回事。 JavaScript Windows脚本宿主(WSH)下提供了JavaScript。有了它,访问WMI相当容易: jWMI(Java)
我正在尝试使用 matlab 从 netCDF 文件中读取时间坐标数据。我有一个 netCDF 文件(我创建的),该文件具有一个双精度格式的时间变量,对应于特定时间的小时数(见下文)。 变量属性: 当我使用 ncread) 将时间变量读取到 matlab 中时,它只是打印出一个整数,例如,1。但是,如果我使用“ncdump”浏览文件,我会在其坐标时间中看到时间变量,例如 2002-01-01 01
在我的空手道测试中,我需要将响应ID写到txt文件(或任何其他文件格式,如JSON),我想知道它是否有能力做到这一点,我在文档中没有看到其他的。如果是no,那么是否有一个简单的JavaScript函数来执行此操作?
问题内容: 有没有一种方法可以在Java中随机获取HashMap的值? 问题答案: 这有效: 如果您希望随机值不是类型,只需在最后一行添加强制类型转换即可。因此,如果声明为: 最后一行可以是: 下面的代码 无效 ,总是返回s 数组,不能将其强制转换为。