2015-04-29 2 views
0

Я пытаюсь сделать проект из того, что я изучил в Интернете.Система регистрации

public static void main(String[]args){ 

    int balance, payment; 


    balance = 11310; 

    String new1 = "new"; 

    String old = "old"; 

    String partial = "partial"; 

    String full = "full"; 

    String no = "no"; 

    String yes = "yes"; 

    String First = "first year second sem"; 

    String Second = "second year first sem"; 

    String Third = "second year second sem"; 

    System.out.print("\nEnter Name: "); 

    Scanner st = new Scanner(System.in); 

    String name = st.nextLine(); 

    System.out.print("\nOld Student or New Student: "); 

    String student = st.nextLine(); 

    if(student.equalsIgnoreCase(new1)){ 

     System.out.print("\nGreetings, "+name); 

     System.out.print("\nPlease fill out our Registration Form."); 

     System.out.print("\nThank you!"); 

    try { 

    if(Desktop.isDesktopSupported()) { 

     Desktop.getDesktop().open(new File("C:\\Users\\toshiba-1\\Desktop\\Regform1styr.2ndsem - Copy.docx")); 

    } 

    } 

    catch (IOException ioe) { 

    ioe.printStackTrace(); 

    } 

    return; 

    } 


    System.out.print("\nGreetings, "+name); 

    System.out.print("\nWould you want to enroll for a new semester? "); 

    String enroll = st.nextLine(); 

    if(enroll.equalsIgnoreCase(no)) 
    { 
    System.out.print("\nThank you!"); 

    return; 
    } 

    if(enroll.equalsIgnoreCase(yes)) 
    { 

    } 

    System.out.print("\nWhich Semester? "); 

    String semester = st.nextLine(); 

    if(semester.equalsIgnoreCase(First)) // My error started here. 
    { 
    } 

    else if(semester.equalsIgnoreCase(Second)) 
    { 
    } 

    else if(semester.equalsIgnoreCase(Third)) 
    { 
    } 

    else 
    { 
    System.out.print("\nPlease choose a semester."); 
    } 

    System.out.print("\nThe Enrollment fee for this Semester is: "+ balance); 

    System.out.print("\nChoose your Payment term(Partial/Full): "); 

    String term = st.nextLine(); 

    if(term.equalsIgnoreCase(partial)) 
    { 

     System.out.print("\nHow much would you like to pay for this semester: "); 

     Scanner in = new Scanner(System.in); 

     payment = in.nextInt(); 


     balance = balance - payment; 

     System.out.print("\nYour Balance is: SR"+ balance); 

     if(balance > payment){ 

      System.out.print("\nYou have remaining balance of: SR" + balance); 

     }else if(balance == payment){ 

      System.out.print("\nYou are already paid"); 

     } 

    } 



} 
} 

У меня возникают проблемы, когда пользователь выбирает три строки. Я попробовал этот набор кодов.

if(semester.equalsIgnoreCase(First)) 
    { 
    System.out.print("\nPlease choose a semester."); 
    } 

    System.out.print("\nThe Enrollment fee for this Semester is: "+ balance); 

    System.out.print("\nChoose your Payment term(Partial/Full): "); 

    String term = st.nextLine(); 

    if(term.equalsIgnoreCase(partial)) 
    { 

     System.out.print("\nHow much would you like to pay for this semester: "); 

     Scanner in = new Scanner(System.in); 

     payment = in.nextInt(); 


     balance = balance - payment; 

     System.out.print("\nYour Balance is: SR"+ balance); 

     if(balance > payment){ 

      System.out.print("\nYou have remaining balance of: SR" + balance); 

     }else if(balance == payment){ 

      System.out.print("\nYou are already paid"); 
    } 

    else if(semester.equalsIgnoreCase(Second)) 
    { 
    System.out.print("\nPlease choose a semester."); 
    } 

    System.out.print("\nThe Enrollment fee for this Semester is: "+ balance); 

    System.out.print("\nChoose your Payment term(Partial/Full): "); 

    String term = st.nextLine(); 

    if(term.equalsIgnoreCase(partial)) 
    { 

     System.out.print("\nHow much would you like to pay for this semester: "); 

     Scanner in = new Scanner(System.in); 

     payment = in.nextInt(); 


     balance = balance - payment; 

     System.out.print("\nYour Balance is: SR"+ balance); 

     if(balance > payment){ 

      System.out.print("\nYou have remaining balance of: SR" + balance); 

     }else if(balance == payment){ 

      System.out.print("\nYou are already paid"); 
    } 

    else if(semester.equalsIgnoreCase(Third)) 
    { 
    System.out.print("\nPlease choose a semester."); 
    } 

    System.out.print("\nThe Enrollment fee for this Semester is: "+ balance); 

    System.out.print("\nChoose your Payment term(Partial/Full): "); 

    String term = st.nextLine(); 

    if(term.equalsIgnoreCase(partial)) 
    { 

     System.out.print("\nHow much would you like to pay for this semester: "); 

     Scanner in = new Scanner(System.in); 

     payment = in.nextInt(); 


     balance = balance - payment; 

     System.out.print("\nYour Balance is: SR"+ balance); 

     if(balance > payment){ 

      System.out.print("\nYou have remaining balance of: SR" + balance); 

     }else if(balance == payment){ 

      System.out.print("\nYou are already paid"); 
    } 

    else 
    { 
System.out.print("Please choose a semester."); 

return; 
     } 

Но результаты продолжают смешиваться. Пожалуйста, помогите мне.

+1

Я не совсем понимаю проблему. Можете ли вы предоставить свой текущий, неправильный вывод и рассказать нам, что должно произойти вместо этого? – Sossenbinder

+0

Извините. При команде ... System.out.print («\ nВы какой семестр?»); Строковый семестр = st.nextLine(); if (semester.equalsIgnoreCase (First)) // Моя ошибка началась здесь. { } еще если (semester.equalsIgnoreCase (Second)) { } еще если (semester.equalsIgnoreCase (Третьему)) { } еще { System.out.print ("\ nПожалуйста, выберите семестр. "); } Когда пользователь вводит «первый», «второй» или «третий», он будет продолжать «плату за регистрацию за этот семестр ...», если бы он не сказал «Пожалуйста, выберите семестр», и я вернуть. – Albert

+0

Является ли вход точно «первый семестр первого года», когда вы хотите перейти в свой первый if-clause? потому что это то, с чем вы сравниваете. когда вы вводите только «первый», он не равен той строке, которую вы сохранили в переменной – Sossenbinder

ответ

0

Если вы хотите, чтобы ваш код работать, вам нужно добавить петлю на вопрос:

System.out.print("\nWhich Semester? "); 
// changed code!! 
while(true){ 
    String semester = st.nextLine(); 
    if(semester.equalsIgnoreCase(First)){ 
     break; 
    }else if(semester.equalsIgnoreCase(Second)){ 
     break; 
    }else if(semester.equalsIgnoreCase(Third)){ 
     break; 
    }else{ 
     System.out.print("\nPlease choose a semester."); 
    } 
} 
//end of chaged code!! 
System.out.print("\nThe Enrollment fee for this Semester is: "+ balance); 

Однако это действительно плохая идея управления потоком базовой программы на струнах, как ваша.

Смежные вопросы