0

処理時にどうやって作るのか、またやり直したいのですが。プログラムが彼の仕事をしたときを意味しますそれは尋ねなければなりません:あなたは他の単語を検索したいですか、はいまたはいいえ?はいの場合、終了しない場合、プログラムが再開されます。

私は考えます:

 int searchAgain = 0;
            System.out.println("Do you want search for other word?");
            System.out.println("1=Yes 2=No");
            searchAgain = input.nextInt();}
        else {
            System.out.println("Error...");
            }   
                if (searchAgain == 1) {
                    System.out.println("Write your word: ");
                    .....//I dont know what here

                }
                    else{
                        System.out.println("Program closed.");
                    }

これは私の現在のコードです:

    package lt.kvk.i3_2.kalasnikovas_stanislovas;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;


public class Miestai {


        public static void main(String args[]) throws Exception {
            String kitasStilius = "";
            while (!"Ne".equalsIgnoreCase(kitasStilius )) {
            Scanner input = new Scanner(System.in);
            System.out.println("Pasirinkite muzikos stiliu is saraso:");
            System.out.println();

            try {

                FileReader fr = new FileReader("src/lt/kvk/i3_2/kalasnikovas_stanislovas/Stiliai.txt");
                BufferedReader br = new BufferedReader(fr);
                String stiliuSarasas;
                while((stiliuSarasas = br.readLine()) != null) {
                    System.out.println(stiliuSarasas);
                }
                fr.close();
                String stilius = input.nextLine();   
                BufferedReader bf = new BufferedReader(new FileReader("src/lt/kvk/i3_2/kalasnikovas_stanislovas/Miestai.txt"));
                int counter = 0;                
                String line;

                System.out.println("Ieskoma informacija apie " + stilius);
                ArrayList<String> miestuSarasas = new ArrayList<String>();
                String miestas = null;

                while (( line = bf.readLine()) != null){
                    if (line.trim().length() == 0) miestas = null;
                       else if (miestas == null) miestas = line;
                       int indexfound = line.indexOf(stilius);
                       if (indexfound > -1) {
                       counter++;
                       miestuSarasas.add(miestas);
                       }                   
                }
                if (counter > 0) {
                    System.out.println(stilius + " turi " + counter + " remejus: " + miestuSarasas);                    
                    System.out.println("Ar norite ieskoti informacijos apie kita stiliu?");
                    System.out.println("Iveskite: Taip arba Ne");
                    kitasStilius = input.next();

                    }
                else {
                    System.out.println("Klaida, nerastas muzikos stilius");
                    break;
                    }   
                        if ("Taip".equalsIgnoreCase(kitasStilius)) {
                        }
                        else if ("Ne".equalsIgnoreCase(kitasStilius)) {
                            System.out.println("Darbas baigtas.");

                        }
                            else{
                                System.out.println("Neteisingai pasirinkta.");
                                break;
                            }
                        bf.close();
                        }

            catch (IOException e) {
                System.out.println("Error:" + e.toString());
            }
        }
        }
        private void searchWord(String textToSearch ){
            //your logic here which performs the search and prints the result
         }
     }

file.txtから(キーボードで入力された)単語を数えるプログラムを作成し、この単語を繰り返した人を選択します。例:単語を入力した場合:次のようOneに表示されます。

Word One repeated 3 times by John, Elisa, Albert

file.txtは次のようになります。

John //first line - name
One
Three
Four

Peter //first line - name
Two
Three

Elisa //first line - name
One
Three

Albert //first line - name
One
Three
Four

Nicole //first line - name
Two
Four

回答ありがとうございます。

4

1 に答える 1

2

次のように条件をオンにして、コード(わずかに変更)をwhileループでラップしますsearchAgain

編集:オプションを文字列として受け入れるように更新しています:

 public class Testing {

   public static void main(String args[]) throws Exception {
       Scanner input = new Scanner(System.in);
        System.out.println("Select word from list:");
        System.out.println();

        String searchAgain = "";
        while(!"No".equalsIgnoreCase(searchAgain )){
           System.out.println("Do you want search for other word?");
           System.out.println("Enter: Yes or No");
           searchAgain = input.next();
           if ("Yes".equalsIgnoreCase(searchAgain)) {
              System.out.println("Write your word: ");
              String textToSearch = input.next();
              searchWord(textToSearch );
           } else if ("No".equalsIgnoreCase(searchAgain)) {
                 System.out.println("Program closed.");
           } else{
                 System.out.println("Invalid Input.");
           }
        }
     }

     private void searchWord(String textToSearch ){
        //your logic here which performs the search and prints the result
     }
 }
于 2012-11-12T17:44:29.527 に答える