【问题标题】:Arrays with printwriter and displaying them带有 printwriter 的数组并显示它们
【发布时间】:2018-04-28 15:16:58
【问题描述】:

我想做的是把这个txt文件变成一个数组,然后用不正确的数字(不是数字)把它们放到pw wrong.txt中并显示出来

import java.util.*;
import java.io.*;
public class MorenoJonathonTranslator
{
public static void main(String[] args) throws IOException
{
  Scanner file = new Scanner(new File("numbers.txt"));
    ArrayList<String> alphabeticPhoneNumbers = new ArrayList<String>();
    int i = 0;

System.out.println("Original: ");


System.out.println("Numberical: ");
    while(file.hasNextLine() ){

        alphabeticPhoneNumbers.add(file.next());
        alphabeticPhoneNumbers.add(file.next());
        file.nextLine();

        System.out.println(alphabeticPhoneNumbers.get(i));
        i+=2;
    }

    PrintWriter pw = new PrintWriter("wrong.txt");
    for( i = 0; i < 8; i++){
        pw.print(alphabeticPhoneNumbers.get(i));
        pw.print(alphabeticPhoneNumbers.get(i+1));
        pw.println();
        i++;
    }
    pw.close();

 }
}

【问题讨论】:

    标签: java arrays printwriter


    【解决方案1】:

    您想要达到什么目的?我认为您的程序已损坏并且没有打印任何内容,因为您以某种方式将 i 增加到一个已经大于 7 的值,因此您的第二个循环不执行任何操作。只是一个猜测,因为我不知道你的数据是什么样的。尽量不要重用像i这样的索引变量。

    【讨论】:

    • 它从我的 txt 中显示正确的数字,但不会创建和显示新的 txt 文件
    • 请提供输入文件的摘录。并且尽量避免重复使用i,因为这样很难做到这一点。
    • 1-800-3569377 1-800-468-5865 555-438-3663 1-800-738-6337 1-800-5299377 1-800-46-36687 713-333-6683 222 -问-???? 1800/GET-CAKE
    • 我希望密码写的错误数字是最后两个数字
    • 这些数字是分开的吗?问题是真的很难看出你的问题是什么,因为你的代码只打印每隔一个数字,并且无论如何都不检查有效/无效数字。它只是没有太多意义。您只想检查哪些行都是数字吗?
    【解决方案2】:

    我不确定您要达到的目标。如果您只想在程序执行时显示它们,您可以在最后一个for 循环中使用System.out.println

    【讨论】:

    • 我应该从数组中显示正确的号码,然后所有不正确的电话号码(不是数字)将它们写入一个txt文件然后显示它们。
    猜你喜欢
    • 2013-04-24
    • 1970-01-01
    • 2022-11-11
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 2015-12-21
    • 2016-09-19
    • 1970-01-01
    相关资源
    最近更新 更多