翻译文本文件中的数字

时间:2014-02-28 01:36:49

标签: java

我正在进行一项练习,其中包括在其中使用包含数字的文本文件,并在使用例外时将其翻译为单词。当我的程序从文本文件中读取诸如“1234”之类的数字时,它将输出“1234:One Two Three Four”,我正在创建两个单独的类,一个主类和一个numberTranslator类,主类将包含方法translateNumbersInFile(String filename)并使用Scanner tokenizer和所选文件打开文件名,我的numberTranslator类将包含translate()方法,该方法将字符串转换为单独的整数。

我以前从未使用过扫描仪令牌器,也不熟悉用它打开文件。此外,不确定如何将字符串分成单独的数字。非常感谢任何帮助,我现在很失落..

添加:我需要将数字分解为各自的数字,然后将每个数字转换为文本表示,然后将它们全部与最终文本字符串组合。

以下是我的单独课程,谢谢。

package hw05;

import java.io.File;
import java.util.Scanner;


public class Main {


 public static void main(String[] args) {


 }
 public translateNumbersInFile(String filename){

 }

}

这是我的NumberTranslator课程,     包hw05;

public class NumberTranslator extends Main {

 public String translate(int number){   


 }

}

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class test {
private static final String[] stringarray = { "zero", "one", "two", "three",
        "four", "five", "six", "seven", "eight", "nine" };

public static void main(String[] args) {
    System.out.println("Please enter your file path:");
    Scanner scanner = new Scanner(System.in);
    String filepath = scanner.nextLine();
    // String result = translateNumbersInFile("C:/numtxt.txt");
    String result = translateNumbersInFile(filepath);
    System.out.println(result);
}

public static String translateNumbersInFile(String filepath) {
    StringBuffer sb = new StringBuffer();
    File file = new File(filepath);
    try {
        Scanner sc = new Scanner(file);
        while (sc.hasNextLine()) {
            String oneline = sc.nextLine();
            for (int i = 0; i < 10; i++) {
                oneline = oneline.replaceAll(i + "", " " +      stringarray[i]
                        + " ");
            }
            sb.append(oneline + "\n");
        }
    } catch (FileNotFoundException e) {
        System.out.println("erro filepath!");
        e.printStackTrace();
    }
    return sb.toString();
}
}