2016-12-16 21 views
-3

對於我的大學實驗室工作,我們必須完成4個任務。我目前9點6分,大部分都完成了,但我很難完成最後的部分。這是我們必須做什麼的描述:使用數組和輸出的特定輸出的名稱和年齡應用程序

編寫定義兩個數組的程序 - 其中一個字符串和整數中的一個,這兩個尺寸的10 你的程序則應該要求用戶輸入一個字符串代表人名,
和代表他們年齡的整數。它應該繼續這樣做,直到用戶
輸入'完成'
而不是名稱,或者直到數組已滿(即已輸入10對名稱和年齡
)。然後它應該打印出姓名和年齡以及 最年輕和最古老的名字。

提示:一個棘手的部分是確保一旦你鍵入「完成」結束輸入名稱,
你的程序不那麼請你用的名字「完成」的人的年齡 - 要小心 關於這一點。

我強調我的粗體字上面遇到的問題。以下是我目前擁有的代碼,但我不確定如何正確完成粗體文本。

import java.util.Scanner; 
import java.util.Arrays; 
import java.util.Collections; 

public class nameAge { 


public static void main(String[] args){ 
String[] name = new String[10]; 

    int[] age = new int[10]; 

    Scanner in = new Scanner(System.in); 

    String NAME_REQUEST = ("Please enter name"); 
    String AGE_REQUEST = ("Please enter age"); 

    System.out.println("Please enter the name of a person and then their age. Do this for up to 10 people and once finished, type 'done'"); 
    name[0] = in.nextLine(); 
    System.out.println(AGE_REQUEST); 
    age[0] = in.nextInt(); 
    System.out.println(NAME_REQUEST); 
    name[1] = in.next(); 
    System.out.println(AGE_REQUEST); 
    age[1] = in.nextInt(); 
    System.out.println(NAME_REQUEST); 
    name[2] = in.next(); 
    System.out.println(AGE_REQUEST); 
    age[2] = in.nextInt(); 
    System.out.println(NAME_REQUEST); 
    name[3] = in.next(); 
    System.out.println(AGE_REQUEST); 
    age[3] = in.nextInt(); 
    System.out.println(NAME_REQUEST); 
    name[4] = in.next(); 
    System.out.println(AGE_REQUEST); 
    age[4] = in.nextInt(); 
    System.out.println(NAME_REQUEST); 
    name[5] = in.next(); 
    System.out.println(AGE_REQUEST); 
    age[5] = in.nextInt(); 
    System.out.println(NAME_REQUEST); 
    name[6] = in.next(); 
    System.out.println(AGE_REQUEST); 
    age[6] = in.nextInt(); 
    System.out.println(NAME_REQUEST); 
    name[7] = in.next(); 
    System.out.println(AGE_REQUEST); 
    age[7] = in.nextInt(); 
    System.out.println(NAME_REQUEST); 
    name[8] = in.next(); 
    System.out.println(AGE_REQUEST); 
    age[8] = in.nextInt(); 
    System.out.println(NAME_REQUEST); 
    name[9]= in.next(); 
    System.out.println(AGE_REQUEST); 
    age[9] = in.nextInt(); 
    System.out.println(NAME_REQUEST); 


    int size = name.length; 
    int sizeN = age.length; 

    for (int i=0; i < size; i++) { 
     System.out.println("Name: " + name[i]); 
     System.out.println("Age: " + age[i]); 
    } 
    int smallest = age[0]; 
    int largetst = age[0]; 
    for(int i=1; i< age.length; i++) 
      { 
        if(age[i] > largetst) 
          largetst = age[i]; 
        else if (age[i] < smallest) 
          smallest = age[i]; 

      } 

      System.out.println("Largest Number is : " + largetst); 
      System.out.println("Smallest Number is : " + smallest); 
    } 
} 
+0

當詢問有關家庭作業的問題,試圖指定_why_您有特定領域的問題,從而使讀者可以向你解釋。如果你只是讓某人爲你寫代碼,就像你所做的那樣,你不太可能學到一些東西。請不要緊急乞討和限期乞討 - 志願者永遠不會急於求成。 – halfer

回答

-1

試試這個,我測試過了,它工作正常。希望有所幫助。快樂的編碼。

package com.pearson.nextgen.aggregatedsessionservice; 

import java.util.Scanner; 

public class NameAgeTest { 

    public static void main(String[] args) { 
     String[] name = new String[10]; 
     int[] age = new int[10]; 
     Scanner in = new Scanner(System.in); 

     String NAME_REQUEST = "Please enter name"; 
     String AGE_REQUEST = "Please enter age"; 

     int count = 0; 
     while (count < 10) { 
      System.out.println(NAME_REQUEST); 

      String nameInput = in.next(); 
      if (nameInput.equalsIgnoreCase("done")) { 
       break; 
      } 
      name[count] = nameInput; 
      System.out.println(AGE_REQUEST); 
      age[count] = in.nextInt(); 

      count++; 
     } 

     int[] minAndMaxIndex = findMinAndMaxIndex(age, count); 
     System.out.println("Youngest Person: " + name[minAndMaxIndex[0]]); 
     System.out.println("Oldest Person: " + name[minAndMaxIndex[1]]); 

    } 

    private static int[] findMinAndMaxIndex(int[] inputArray, int count) { 
     int min, max = 0; 
     int minIndex = 0, maxIndex = 0; 
     max = min = inputArray[0]; 

     for (int i = 0; i < count; i++) { 
      if (inputArray[i] > max) 
       maxIndex = i; 
      else if (inputArray[i] < min) 
       minIndex = i; 

     } 
     return new int[] { minIndex, maxIndex }; 
    } 

} 
+0

由於兩個原因,我後悔了。首先,這裏沒有解釋你改變了什麼或爲什麼。其次,如果你幫助某人作弊,這對他們有幫助嗎?如果OP必須向講師提供防禦工作並且無法做到,會發生什麼? – halfer

0

你必須採取在Java 環路DOC看看這段代碼可以幫助你

public static void main(String[] args) { 
    int youngest =0,older=0; 
    String[] name = new String[10]; 
     int[] age = new int[10]; 
     String NAME_REQUEST = ("Please enter name"); 
     String AGE_REQUEST = ("Please enter age"); 

    for(int i=0 ; i< 10;i++){ 
     Scanner in = new Scanner(System.in); 
     System.out.println(NAME_REQUEST); 
    String tmpName = in.nextLine(); 
    if(tmpName.equalsIgnoreCase("done")) 
    break; 
    name[i] = tmpName; 
    System.out.println(AGE_REQUEST); 
    age[i] = in.nextInt(); 
    if(age[i] > age[older]) 
    older = i; 
    if(age[i] < age[youngest]) 
    youngest = i; 

    } 

    System.out.println("OLDER is : " + name[older]); 
    System.out.println("Younger : " + name[youngest]); 
} 
相關問題