2014-02-12 49 views
-4

嗨,我有一個程序,似乎沒有註冊。我是相當新的,所以我會很感激任何幫助,並可能會犯的愚蠢的錯誤:/ 但程序的重點是輸入一個名稱,然後在名爲names.txt的文件中找到名稱,然後顯示這個世紀的名字。我目前有一個似乎沒有工作的程序。幫助請嬰兒名稱不起作用

import java.io.*; 
import java.util.Scanner; 

public class Babynames{ 
    public static void main (String[] args)throws FileNotFoundException{ 


    Scanner reader = new Scanner(new File("names.txt")); 
     Scanner input=new Scanner(System.in); 
     System.out.print("What name would you like to search up: "); 
     String name = input.nextLine(); 
     Scanner lineScan = new Scanner(name); 
     String thisname = lineScan.next(); 


     if (name.equals(name)) 
     { 
     while (lineScan.hasNextInt()) 
      { 
      int next = lineScan.nextInt(); 
      for (int i = 1900; i <=2000; i+=10) 
       { 
       System.out.print(i + next); 
       } 
      } 
     } 




    else 
      { 
     System.out.println("File not found! Try again: "); 
      String filename = input.nextLine(); 
      Scanner lineScan2 = new Scanner(name); 
      } 
    } 
} 

編輯
它只是詢問名稱和程序結束

+8

定義「不起作用」。 –

+0

你能說出它是什麼故障嗎?代碼是否編譯?如果是這樣,運行它時會崩潰嗎? –

+1

查看[this](http://stackoverflow.com/questions/21663689/baby-names-java-program?rq=1)的問題,[this](http://meta.stackexchange.com/questions/10811 /如何做我問 - 答案 - 家庭作業 - 問題)元Stackoverflow後關於作業。我們很樂意提供幫助,但您必須幫助我們爲您提供幫助。 –

回答

2

你的任務之後,似乎是:

  • 接受一個寶貝名稱輸入
  • 在包含一些信息的文件中找到該名稱關於該名稱
  • 輸出包含名稱信息的結果。

從你的代碼,我正在做一個受過教育的猜測是,在你的文件中的行看起來像:

名稱值值值值值值值值值值值

其中數值代表1900年 - 2000年十年(11個值)的流行度

因此,您的程序需要:

  • 使用ScannerSystem.in獲取用戶輸入(姓名)。
  • 打開文件
  • 循環,閱讀行從文件
    • Split通過空間(" ")行成一個String[] array
    • 比較的第一個元素(array[0]),看它是否是你的名字
      • 如果是,經過陣列的其餘部分和輸出的值
+0

給他的邏輯,讓他寫代碼。做得好。 1+ –

+1

@HovercraftFullOfEels我很滿意這個級別的「幫我做作業」......當人們發佈完整的代碼(通常沒有指令)得到代表時,無法忍受它。最終不會幫助任何人。 –

+1

我和你100%。 –