2017-12-06 17 views
-3

과제를 진행 중이고 텍스트 파일에 명시된 매개 변수를 사용하여 메소드를 읽는 방법을 궁금해합니다. 예를 들어, 내 과제에서 addFirst 메소드는 바로 뒤에 문자열을 가질 것이다 (addFirst New York). 또한 addFirst 메소드 이름은 모두 소문자 일 수 있습니다. 내가 그물 주위를 찾고 있었어요 그리고 이것은 이미에 일 것입니다 :Java 용 텍스트 파일에서 메소드 읽기

import java.io.BufferedReader; 
import java.io.FileInputStream; 
import java.io.InputStreamReader; 

public class Assignment2 { 

    static DequeUsingStacks<String> deq = new DequeUsingStacks<String>(); 

    public static void main(String[] args) { 

    try{  
     FileInputStream fstream = new FileInputStream("Assignment2.txt"); 
     BufferedReader br = new BufferedReader(new InputStreamReader(fstream)); 
     String m; 

     while((m = br.readLine()) != null){ 

       if(m.equalsIgnoreCase("size")) 
        System.out.println(deq.size()); 

       if(m.equalsIgnoreCase("addFirst")) /*I want to be able to 
                use the string after 
                the method as the new 
                Value. So new 
                Value should equal to 
                "New York"*/ 

       deq.addFirst(new value); 

     } 

     fstream.close();  

DequeUsingStacks 모든 방법과 다른 클래스입니다. 나는 여러 줄로 된 텍스트 파일의 한 줄을 읽는 법을 알고 싶다. "새 값"은 텍스트 파일의 메서드 뒤에 표시된 문자열입니다. 예를 들어 (addFirst New York) 문자열 "New York"은 "새 값"이어야합니다. 읽은 행을 배열에 넣어야한다고 생각합니다. 하지만 어떻게해야할지 모르겠습니다.

+1

아마 당신은 당신에게 과제를 준 사람의 도움을 요청해야합니까? – matthewelsom

+0

는 메소드 이름을 알고 있다면 당신은 ....이 시도 할 수있는 경우 (m.contains ("의 addFirst")) { \t \t \t deq.addFirst (m.replaceAll ("의 addFirst", "") .trim ()); \t} –

+0

너무 많은 문맥을 생략 했으므로 현재 묻고있는 것을 이해하는 것은 현재 불가능합니다. 'deq' 란 무엇입니까? 새로운 가치 _는 무엇을 의미합니까? 표시 한 코드는 컴파일 할 수 없다. 명확하게하기 위해 [mcve]와 [edit] 글을 쓰는 것을 고려해보십시오. –

답변

1

음을 시도 할 수 있습니다 생각 ".

+0

고맙습니다. 나는 equalsIgnoreCase()에 대해서 다른 방법을 찾고 있었고 .toLowerCase()에 대해서만 발견했다. 이것은 매우 도움이되었습니다. –

0

은 내가

if (m.toLowerCase().indexOf("addFirst".toLowerCase()) != -1) { 
     deq.addFirst(m.replaceAll("addFirst".toLowerCase(), "").trim()); 
     } 

문자열에 메소드 이름을 지정하고 대신의 addFirst "하드 코딩의 확인을 위해 사용하는 방법이있다, 당신은

if(m.contains("addFirst")) { 

    String[] words = m.split("addFirst"); // In this case assume that do not have any others sentences after word "New York" 
String result = words.get(0); 

deq.addFirst(result); 

}