0

我有一个编程作业要做,我们的老师希望我们使用StringTokenizer. 我们有一个 txt 文件,matricule \t name \t first name \t Grade1 \t Grade2 \t Grade3 \t Grade 4其中包含一行。我希望我的代码在 StringTokenizer 击中一个没有任何东西的令牌时返回“0”。我不允许使用拆分功能。

这是日期的示例:

00000005    manque tp1  donne 90        40  100 100

程序

String line;
        while ((ligne = reader.readLine()) != null) {
            StringTokenizer var = new StringTokenizer(ligne, "\t");
            String matricule = var.nextToken();
            String nom = var.nextToken();
            String prenom = var.nextToken();
            double noteTP1 = Double.parseDouble(var.nextToken());
            double noteTP2 = Double.parseDouble(var.nextToken());
            double noteIntra = Double.parseDouble(var.nextToken());
            double noteFinal = Double.parseDouble(var.nextToken());
4

1 回答 1

0

你试过了吗StringTokenizer.countTokens()

        String line;
        while ((ligne = reader.readLine()) != null) {
            StringTokenizer var = new StringTokenizer(ligne, "\t");
            if(var.countTokens() == 0) {
                //return "0"; or continue;
            String matricule = var.nextToken();
            String nom = var.nextToken();
            String prenom = var.nextToken();
            double noteTP1 = Double.parseDouble(var.nextToken());
            double noteTP2 = Double.parseDouble(var.nextToken());
            double noteIntra = Double.parseDouble(var.nextToken());
            double noteFinal = Double.parseDouble(var.nextToken());
于 2013-09-23T05:44:50.337 回答