public class CreditCardHolder
{
/**
* This method is used to hold credit card numbers
*/
public static void main(String[] args) throws Exception
{
File cardNumbers = new File("creditcardnumbers.txt");
Scanner cardNumbersInput = new Scanner(cardNumbers);
cardNumbersInput.useDelimiter("|" + System.getProperty("line.separator"));
while(cardNumbersInput.hasNextInt())
{
int cardNumber = Integer.parseInt(cardNumbersInput.next());
System.out.printf("%d", cardNumber);
}
cardNumbersInput.close();
}
为什么这只是在我的.txt文件中打印第一行,所以我需要它来打印文件中的任何内容,我目前有四个数字,因此
4929253776358751
4716026803447186
4539032933695186
5473350227612088
最佳答案
改成:
public static void main(String[] args) throws FileNotFoundException{
File cardNumbers = new File("creditcardnumbers.txt");
Scanner cardNumbersInput = new Scanner(cardNumbers);
while(cardNumbersInput.hasNextLine()) {
String cardNumber = cardNumbersInput.nextLine();
System.out.println(cardNumber);
}
cardNumbersInput.close();
}
测试hasNextLine()代替hasNextInt(),并使用nextLine()代替nextInt(),因为您无需解析/格式化任何内容。为简单起见,您应该使用println而不是printf,因为您没有格式设置。当然,请避免使用自定义定界符(假设默认定界符)。