【发布时间】:2018-10-21 21:18:08
【问题描述】:
我有一个文件,其中包含如下数据:
Australia,1
Spain,3
Rome,7
Germany,2
现在我知道我们可以使用 split 函数来分隔国家名称和数字。
Scanner sc=new Scanner(f);
while(sc.hasNextLine()) {
String line=sc.nextLine();
String[] teams=line.split(",");
System.out.println(teams[0]);
}
类似的东西。 但是当我希望打印数组的第一个元素时:
System.out.println(teams[0]);
我得到的输出为:
Australia
Ghana
China
Spain
我想要的是当我尝试打印时:
System.out.println(teams[0]);
我只想要 澳大利亚 作为输出。 当我尝试时:
System.out.println[(teams[1]);
I want output as Spain
我该怎么做?
这是我的代码:
import java.io.File;
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Scanner;
import java.util.StringTokenizer;
public class Team {
private String name;
private int ranking;
private int yellowCard;
private int redCard;
int won;
int loss;
int draw;
static String[] arr;
String goalScored;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getRanking() {
return ranking;
}
public void setRanking(int ranking) {
this.ranking = ranking;
}
public int getYellowCard() {
return yellowCard;
}
public void setYellowCard(int yellowCard) {
this.yellowCard = yellowCard;
}
public int getRedCard() {
return redCard;
}
public void setRedCard(int redCard) {
this.redCard = redCard;
}
public static void readFile(File f) {
try {
Scanner sc=new Scanner(f);
while(sc.hasNextLine()) {
String line=sc.nextLine();
String[] teams=line.split(",");
System.out.println(teams[0]);
// int count=teams.length;
//
// int i=0;
// if(i%2 ==0) {
//
// Team team=new Team();
// String teamNames=teams[i];
// team.setName(teamNames);
// System.out.println(team.getName());
// }
}
//}
}
catch(Exception e) {
System.out.println(e);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
File f=new File("files/teams.txt");
Team.readFile(f);
}
}
【问题讨论】:
-
发布一个工作示例,生成您所说的输出。
-
在您的代码中,
teams代表一个数组:{country, number}。对于每一行,您打印数组的第一个元素,即国家/地区。如果您只想要第一个国家,请将每个国家/地区放在一个列表或数组中,然后打印第一个 -
怎么样??你能举个例子吗@HBo
-
好吧,@azro 给出了一个很好的答案!
标签: java arrays split file-handling