【问题标题】:what wrong with my code always print answer : null+word,what is null?我的代码有什么问题总是打印答案:null+word,什么是 null?
【发布时间】:2018-02-07 22:16:51
【问题描述】:

我们有几个单词的文件,尝试使用数组中包含 2、4、6 或 8 个字母的单词的安全单词,然后将其保存在屏幕中,写入 null 和 null+good word。

我写错了什么,为什么显示为空?

public static void lyginis () throws IOException {
    Path path = Paths.get("words.txt");
    Scanner scanner = new Scanner(path);
    int kiek = 0;
    while (scanner.hasNext()) {
        scanner.next();
        kiek++;
    }
    Scanner scanner1 = new Scanner(path);
    String[] atrinkti = new String[kiek];
    String scan = "";
    for (int i = 0; i < kiek; i++) {
        scan = scanner1.next();
        if (scan.length() % 2 == 0) {
            atrinkti[i] += scan ;
        }
        System.out.println(atrinkti[i]);
    }
}

【问题讨论】:

  • 看来你需要学习使用调试器了。请帮助自己一些complementary debugging techniques。如果您之后仍有问题,请随时回来提出更具体的问题。

标签: java arrays performance file


【解决方案1】:
import java.io.File;
import java.io.IOException;
import java.util.Scanner;

public class Hello {
    public static void main(String[] args) throws IOException {
        File file = new File("words.txt");
        Scanner scanner = new Scanner(file);
        int kiek = 0;
        while (scanner.hasNext()) {
            scanner.next();
            kiek++;
        }
        Scanner scanner2 = new Scanner(file);
        String[] atrinkti = new String[kiek];
        String word = "";
        for (int i = 0; i < kiek; i++) {
            word = scanner2.next();
            if (word.length() % 2 == 0) {
                atrinkti[i] = word;
                System.out.println(atrinkti[i]);
            }
        }
    }
}

输出

$ cat words.txt
hi
hello
whats up
chicken
duck
goose

$ javac Hello.java; java Hello
hi
up
duck

问题是:

  1. 使用Path 代替File
  2. +=if 语句中使用,而不仅仅是=
  3. System.out.println() 函数是在 if 语句之外调用的,因此当单词的长度不能被 2 整除时,当前数组元素将打印 null 数组的默认初始化值

【讨论】:

  • @aurimas-butkevicius 将来尝试使用 intellij 进行调试。它非常适合 Java。
猜你喜欢
  • 2023-01-05
  • 2023-03-30
  • 1970-01-01
  • 2020-01-09
  • 1970-01-01
  • 1970-01-01
  • 2014-09-12
  • 1970-01-01
  • 2013-07-14
相关资源
最近更新 更多