2016-12-14 4 views
-1

これは私の主な仕事です。ユーザーが "。"を入力するまで実行させようとしています。それでは、さようならと言います。 whileループを試しましたが、エラーが出ます。私はそれをループする方法のいくつかの提案をしたいと思います。私はそれが期間だと思う。私はcondition == 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

がそうで入力を読みます – GurV

+0

@Gurwinder Singh do {} while(!str.equals( "。"))このエラーはjava.lang.NumberFormatExceptionです。 – soSerious

+0

'string.equals("。 ")'はそのエラーをスローできません。それは 'do'ブロックに入れたものです。 – 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

関連する問題