請幫助,我正在嘗試編寫一個程序,該程序讀取書籍的庫存文件並生成寫入屏幕的庫存報告。我在嘗試格式化ISBN編號時遇到問題。輸入文件中的ISBN以10位數序列(例如:0321479270)給出。對於這些報告,我需要用1-3-5-1數字格式(Ex 0-321-479270)重新格式化它。Java ISBN formating
這裏是我迄今爲止...
import java.util.Scanner;
import java.io.File;
import java.io.IOException;
public class Inventory
{
public static void main(String[] args)throws IOException
{
//Vaiable declartions
int edition, quanity;
double pricePerBook;
String isbn, author, title, publisher;
//Open the file and set delimiters
File file = new File("inventory.txt");
Scanner inputFile = new Scanner(file);
inputFile.useDelimiter("_|/|\\r?\\n");
//Read from the file
while (inputFile.hasNext())
{
isbn = inputFile.next();
author = inputFile.next();
title = inputFile.next();
edition = inputFile.nextInt();
publisher = inputFile.next();
quanity = inputFile.nextInt();
pricePerBook = inputFile.nextDouble();
System.out.printf("%s" /* %s %s %d %s %d %f "*/, formatISBN(isbn)); //, author, title, edition, publisher, quanity, pricePerBook);
}
//Close the flie
inputFile.close();
}
//ISBN Method
public static String formatISBN(String isbn)
{
if (isbn.length() == 1)
{
isbn += -;
return isbn;
}
}
}
所以我有在ISBN方法麻煩,我似乎無法弄清楚如何與打印ISBN「 - 」 。任何幫助將非常感激。
+1
我認爲你最好的選擇是使用String.format並選擇你使用subString方法輸入。簡單但好的 –
+0
請注意,並非所有ISBN都使用格式1-3-5-1。發佈者ID(第二個值)具有可變寬度,這意味着標題ID(第三個值)也具有可變寬度。 –