2016-12-14 47 views
-1

這是我的主要工作正常。我試圖讓它運行,直到用戶輸入「。」。它會說再見。我嘗試了一段時間循環,但它給了我一個錯誤。我想就如何循環它提出一些建議。我認爲這是一個時期。我嘗試while條件== true。我怎樣才能得到我的Java程序循環,直到「。」。進入了嗎?

public class Main { 

public static void main(String[] args) throws Exception 
{ 
    System.out.printf("Welcome to name database\n\n"); 
    NameHandler nameHandler = new NameHandler(); 
    NamePrinter namePrinter = new NamePrinter(); 
    SecureRandom random = new SecureRandom(); 
    // boolean condition = true; 

    List<Name> name 
     = nameHandler.findName(); 
    namePrinter.print(name); 
    Scanner scanner = new Scanner(System.in); 

    Scanner sc=new Scanner(System.in); 
    String str=sc.next() 

    while(!str.equals(".")) 
    { 
    System.out.printf("\nENTER DATA FOR NEW NAME\n"); 
    Integer id = random.nextInt(1000); 
    System.out.printf("FIRST_NAME: "); 
    String fname = scanner.nextLine(); 
    System.out.printf("LAST_NAME: "); 
    String lname = scanner.nextLine(); 


    Name newName = new Name(); 
    newName.setFname(fname); 
    newName.setId(id); 
    newName.setLname(lname); 

    int insertCount = nameHandler.insert(newName); 
    System.out.printf("%nInsert count: %d%n", insertCount); 
    namePrinter.print(
     nameHandler.findName()); 

    System.out.printf("\nUPDATE NAME\n"); 
    System.out.printf("ID: "); 
    id = Integer.parseInt(scanner.nextLine()); 
    System.out.printf("FIRST_NAME: "); 
    fname = scanner.nextLine(); 
    System.out.printf("LAST_NAME: "); 
    lname = scanner.nextLine(); 


    int updateCount = nameHandler.update(id, fname, lname); 
    System.out.printf("%nUpdate count: %d%n", updateCount); 
    namePrinter.print(
     nameHandler.findName() 
    ); 

    System.out.printf("\nDELETE A NAME\n"); 
    System.out.printf("ID: "); 
    id = Integer.parseInt(scanner.nextLine()); 

    int deleteCount = nameHandler.delete(id); 
    System.out.printf("%nDelete count: %d%n", deleteCount); 
    namePrinter.print(
     nameHandler.findName() 
    );} 

    System.out.printf("\nGood bye!\n"); 
    } 
+2

讀取輸入的do while循環測試時,如果最後輸入的是「」 – GurV

+0

@Gurwinder Singh do {} while(!str.equals(「。」))我得到這個錯誤java.lang.NumberFormatException – soSerious

+0

'string.equals(「。」)'不能拋出這個錯誤。這是你在「做」塊中所做的。 – GurV

回答

1

這僅僅是一個示例代碼查詢:

Scanner sc=new Scanner(System.in); 
String str=sc.next() 

while(!str.equals(".")) 
{ 
    //code that needs to loop 
} 
+0

代碼不會運行 – soSerious

+0

@soSerious但是如果你檢查它並檢查你的代碼,你認爲你知道如何讓它工作? –

+0

@ScaryWombat我編輯我認爲應該做的代碼。 – soSerious