특정문자를 찾거나, 특정자릿수에 있는 문자를 검색하거나, XX몇번째 자리에 특정문자가 있는지 확인하는 프로그램.

정규식과 compareTo 등을 쓰면 간단하겠지만 지식인 질문의 답변에서 고친거라..

 

지식인 질문)

http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040201&docId=264212329

 

 

 

0. TEXT

 

Nick Fury kkk is the director of S.H.I.E.L.D., an international peace-keeping agency.
The agency is a who's kkk who of Marvel Super Heroes, with Iron Man, The Incredible Hulk,
Thor, Captain America, Hawkeye and Black Widow.
When global security is threatened by Loki and his cohorts, Nick Fury and his team
will need kkk all their powers to save the world from disaster.
Written by WellardRockard

 

 

1. CLASS

 

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;

 

public class t12_00 {
  public static void main(String args[]){
  
    File file = new File("D:\\work\\test\\file.txt");  // 파일 경로
  
    FileInputStream fileInputStream = null;
    Scanner scTxt = null;
    Scanner scIn0 = null;
    
    while(true){

      try {
        int no = 0;
        scIn0 = new Scanner(System.in);
       
        System.out.print("찾고싶은 문자를 입력 : ");
        String mun = scIn0.nextLine();
    
        if(mun == null || mun.equals("")){
          mun = "";
        }
    
        System.out.print("문장에서 찾고싶은 문자의 자릿수 : ");
        String noTh = "";
        noTh = scIn0.nextLine(); 
 
        if(noTh.equals("") || noTh == null){
          noTh = "";
        }else{
          no = Integer.parseInt(noTh);
        }
    
        fileInputStream = new FileInputStream(file);
        scTxt = new Scanner(fileInputStream);
 
        int count = 1;
        int count_0 = 0;
        int count_1 = 0;
 
        System.out.println();
    
        while(scTxt.hasNext()){
          String input = scTxt.nextLine();
          String[] inMun = input.split(" ");
     
          for(int i = 0; i < inMun.length; i++){
            if(mun.equals("") && !noTh.equals("")){
              if(i == (no - 1)){
                System.out.println(count + "번째줄 '" + no + "'번째 문자열은 '" + inMun[i] + "입니다.");
                count_1++;
              }
              count_0++;


            }else if(!mun.equals("") && noTh.equals("")){
              if(inMun[i].equals(mun)){
                System.out.println(count + "번째줄 '" + (i + 1) + "'번째에 '" + mun + "'가 있습니다.");
                count_1++;
              }
              count_0++;
            }else if(!mun.equals("") && !noTh.equals("")) {
              if(inMun[i].equals(mun) && i == (no - 1)){
                System.out.println(count + "번째줄 '" + no + "'번째 문자열에 입력하신 문자 '" + mun + "'가 있습니다.");
                count_1++;
              }
              count_0++;
            }
          }
          count++;
        }
    
        if(count_1 == 0 && count_0 != 0){
          System.out.println("찾는 문자가 없습니다.");
        }
    
        if(count_0 == 0 ){
          System.out.println("둘중에 하나는 반드시 입력을 해야합니다!!");
        }
      } catch (FileNotFoundException e) {
        e.printStackTrace();
      }


      System.out.print("\n- 종료하고 싶으면 '0'을 입력하세요!! ");
      if(scIn0.nextLine().equals("0")){
        break;
      }
    } 

  }
}

 

 

2. RUN

 

찾고싶은 문자를 입력 : kkk
문장에서 찾고싶은 문자의 자릿수 : 3

 

1번째줄 '3'번째 문자열에 입력하신 문자 'kkk'가 있습니다.
5번째줄 '3'번째 문자열에 입력하신 문자 'kkk'가 있습니다.

 

- 종료하고 싶으면 '0'을 입력하세요!!

 

찾고싶은 문자를 입력 :  <-- 입력이 없을 때
문장에서 찾고싶은 문자의 자릿수 : 2

 

1번째줄 '2'번째 문자열은 'Fury입니다.
2번째줄 '2'번째 문자열은 'agency입니다.
3번째줄 '2'번째 문자열은 'Captain입니다.
4번째줄 '2'번째 문자열은 'global입니다.
5번째줄 '2'번째 문자열은 'need입니다.
6번째줄 '2'번째 문자열은 'by입니다.

 

- 종료하고 싶으면 '0'을 입력하세요!!

 

찾고싶은 문자를 입력 : kkk
문장에서 찾고싶은 문자의 자릿수 :  <-- 입력이 없을 때

 

1번째줄 '3'번째에 'kkk'가 있습니다.
2번째줄 '6'번째에 'kkk'가 있습니다.
5번째줄 '3'번째에 'kkk'가 있습니다.

 

- 종료하고 싶으면 '0'을 입력하세요!!

 

찾고싶은 문자를 입력 : avengers
문장에서 찾고싶은 문자의 자릿수 :  <-- 입력이 없을 때

 

찾는 문자가 없습니다.

 

- 종료하고 싶으면 '0'을 입력하세요!!

 

찾고싶은 문자를 입력 :  <-- 입력이 없을 때
문장에서 찾고싶은 문자의 자릿수 :  <-- 입력이 없을 때

 

둘중에 하나는 반드시 입력을 해야합니다!!

 

- 종료하고 싶으면 '0'을 입력하세요!! 0