2016-04-22 5 views
0

私は分数と関係のあるjavaのプロジェクトに取り組んでいます。今このプロジェクトでは、テキストファイルから分数のリストを取らなければならず、その行に応じて、それらを単純化、加算、減算、乗算、および除算する必要があります。テキストファイルの パート:テキストファイルの特定のパターンを検索するif文を設定できますか?

-16/6 
-7/2 
-17 
+20 4/2/+8 4/8 
-17/15 + +14/17 
+17 5/14 + -2 

は今、私の質問は、私はラインを引くと、「anynumber _/_ anynumber」または「anynumber_anynumber/anynumber」を探すためにif文か何かをセットアップするが方法ですテキストファイルを読み込み、それを読んでください。

もしそうでなければ、分画を切り出すにはどうすればよいでしょうか?

+1

を見ることができますか?まだコードはありますか?その場合は、ここに関連する部分を掲載してください。 – GreenGiant

+0

'String#split'メソッドまたは正規表現を探します。 – fdsa

+0

このRegExをあなたのパターンにマッチさせるために使うことができます[+ + \ d \ /] + –

答えて

2

StringTokenizerクラスを使用できます。ここであなたの例を使用しています。

String nextLine = "-17/15 + +14/17";  //you read in each line as a String 
String delimiters = "+-*/ "; 
StringTokenizer st = new StringTokenizer(nextLine, delimiters, true); 

    while(st.hasMoreElements()){ 
    System.out.println(st.nextElement()); 
    } 

それはに分割されます - あなたはどのようにトークナイザの作品を見ることができますので、[、17、/ 15、+、+、14、/、17]、このwhileループはそれらすべてを出力します。 次に、すべてのオペランドと演算子をスタックに配置し、それに応じてロジックを追加して評価することができます。特定の方法を求めている場合は、プロジェクトの詳細を提示する必要があります。あなたがしたいことは少し不明です。エクスプレッションエバリュエータープログラムを作成したいと思うようですが、分割式のファイルを検索するプログラムを用意したいと述べているようです。

あなたがこれまでに試してみました何各トークン

if(st.nextElement.equals("+")); 
if(st.nextElement.equals("-")); 
if(st.nextElement.equals("/")); 
if(st.nextElement.equals("*")); 
if(st.nextElement.equals(" ")); //whitespace 
else;        //else it is a number 
+0

ありがとう、あなたはとても役に立ちました。その作品は100%。 –

関連する問題