2015-11-11 53 views
0
import java.util.Scanner; 
public class Qty_Of_Musicians_With_Details { 
    public static void main(String[] args) { 

     //Variables 
     String nameMember = ""; 
     String lastName =""; 
     String instrument = ""; 
     String member_LastName = "";  
     String member_Instrument = ""; 
     String member_FirstName = ""; 
     int qty_OfMember; 
     String musician_FirstName = ""; 
     String musician_LastName = ""; 
     String musician_Instrument = "" ; 

     //my scanner 
     Scanner userInput = new Scanner(System.in); 

     System.out.println("input number members"); 
     //read and store user input 
     qty_OfMember = userInput.nextInt(); 

     if(qty_OfMember<=8){ 
      do{ 
       //Using FOR LOOP 
       for(int i =1;i<=qtyOfMember;i++){ 
        //ask for member Full Name 
        System.out.println("enter member# "+i+" full name"); 

        //read and store firstname 
        member_FirstName= userInput.next(); 
        musician_FirstName = member_FirstName ; 

        //read and store lastname 
        member_LastName = userInput.next(); 
        musician_LastName=member_LastName; 

        //Ask for member instrument 
        System.out.println("member instrument"); 

        //Read and store member instrument 
        member_Instrument=userInput.next(); 
        musician_Instrument=member_Instrument; 


        //print out members names,last_names and instruments 
        System.out.println(i +"first_name: "+musician_First Name+"\n Last name: "+musician_LastName "\n instrument: "+ musician_Instrument s"\n"); 
       } 
      //here is the problem,donno how to stop it 
      //if user input qty Members == 3 

      // after asking each member details loop should stop 
      }while(??????????????????????????????????????????????????); 

     } 
     else{System.out.println("Sorry but studio can accept max 8 musicians");} 

     //System.out.println("name: "+ member1_Name +" Last_name: "+ member_Name" instrument: "+ member_Instrument); 

     //closing Scanner 
     userInput.close(); 
    } 
} 

該程序要求音樂家的數量和每個音樂人的全名及儀器,他打那麼顯示每個音樂家的細節以及 它應該是簡單的東西我想: (qty OfMember == qty會員);如何阻止我do-while循環

+2

您可以使用do while循環或for循環,而不是兩個,做一個迭代。 –

+4

當你已經有一個for循環時刪除你的do – Sherlock

+0

如果你不確定循環類型,使用適當的「break」和「continue」的無限循環'while(true){}''在需要的地方。比'while(x){}''和''do {} while(x)'好得多';'' –

回答

0

這裏是一個簡單的...只有輕微的變化對您的代碼

import java.util.Scanner; 

public class Qty_Of_Musicians_With_Details { 

    public static void main(String[] args) { 

     //Variables 
     int qty_OfMember; 

     //my scanner 
     Scanner userInput = new Scanner(System.in); 

     System.out.println("input number members"); 
     //read and store user input 
     qty_OfMember = userInput.nextInt(); 

     if (qty_OfMember <= 8) { 
      String[] musician_FirstName = new String[qty_OfMember]; 
      String[] musician_LastName = new String[qty_OfMember]; 
      String[] musician_Instrument = new String[qty_OfMember]; 
      //Using FOR LOOP 
      for (int i = 0; i < qty_OfMember; i++) { 
       //ask for member Full Name 
       System.out.println("enter member# " + i + " full name"); 
       //read and store firstname 
       musician_FirstName[i] = userInput.next(); 
       //read and store lastname 
       musician_LastName[i] = userInput.next(); 
       //Ask for member instrument 
       System.out.println("member instrument"); 
       //Read and store member instrument 
       musician_Instrument[i] = userInput.next(); 
      } 

      //print out members names,last_names and instruments 
      System.out.println("\n\n----------------------------------------"); 
      System.out.println("Details"); 
      System.out.println("----------------------------------------"); 
      for (int i = 0; i < qty_OfMember; i++) { 
       System.out.println(i + 1 + "\nfirst name: " + musician_FirstName[i] + "\nLast name: " + musician_LastName[i] + "\ninstrument: " + musician_Instrument[i] + "\n"); 
      } 
      System.out.println("----------------------------------------"); 
     } else { 
      System.out.println("Sorry but studio can accept max 8 musicians"); 
     } 
     //closing Scanner 
     userInput.close(); 
    } 
} 
+0

@Konstantin F只是刪除了do-while循環。使用for循環來獲取輸入,並使用另一個來打印細節。我發佈了我的答案,所以你可以得到答案。隨意問任何事情。 – Doc