お世話になります。
使用言語はJavaです。
プログラム中にある名前を全て出力するプログラムを作りたいのですが
初心者でうまく組む事ができません。
条件
このプログラムでの"名前"はアルファベットで始まりアルファベットまたは数字の続く文字列とする。
またコメント中のものは省く。
具体例
入力
main(){
int n1, num2/n4/;
n1 = 1000/n3;
}
以上の入力を行った結果として以下の結果を出力するプログラムを組みたいです。
出力
main
int
n1
num2
n1
n3
よろしくお願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
アルファベットで始まりアルファベットまたは数字の続く文字列のみを表示するプログラムです
アルファベットまたは数字の半角文字コードの範囲の数値の文字が続く文字列のみを表示し、改行が続く場合は表示しないようにしています
java
1import java.io.BufferedReader; 2import java.io.FileReader; 3import java.io.IOException; 4import java.io.InputStreamReader; 5import java.io.*; 6 7 8class CU { 9 public static void main( String[] args ) { 10 try { 11 FileReader br 12 = new FileReader( new File("C:\\file\\test.java") ); //このファイルを読む 13 14 int date; 15 16 int flag=0; 17 18 int flag2=0; 19 20 int yn=(int)'\n'; 21 // ファイルをchar単位で読む 22 while( (date = br.read()) != -1 ) { 23 24 if((date>=48 && date<=57) || (date>=65 && date<=90) || (date>=97 && date<=122) ){ 25 flag=1; 26 flag2=0; 27 System.out.print((char)date); 28 29 }else if(flag2==0){flag=0; 30 31 System.out.println(); 32 flag2=1; 33 } 34 35 36 37 38 39 } 40 br.close(); 41 } catch( IOException e ) { 42 System.out.println( "入出力エラーがありました" ); 43 } catch( NumberFormatException e ) { 44 System.out.println( "フォーマットエラーがありました" ); 45 } 46 } 47}
投稿2016/10/31 20:12
退会済みユーザー
総合スコア0
0
コメントって、/と/で囲まれたものですか。
java だから、// も必要。
a-z
A-Z
で始まり、数字を含む1文字以上の文字列に分解して、コメント中はカウントしない。
コメントは、複数行コメントと行コメント両方で、ネストは許可制とする。
/* aaa /* bbb */ ccc /
のとき、ネストを許可しない場合はエラーとするか、最大一致とするか、先読みが必要ですね。
上記でネスト許可しない場合、ccc は1カウントされます。java 文法的には、2つ目の / で
コメントネストでエラーです。文字数をカウントするツールは、
こめんとの書き方は、java文法と同じもので、閉じてないコメントは許されない、とするのが
妥当なところでしょうか。
処理としては、
第一段階>>
複数行コメントを検出して半角スペースに置換する。
第二段階>>
行コメントを検出して半角スペースに置換する。
第三段階>>
a to z A to Z で始まり、数字を含む1文字以上のアルファベットと数字から構成される固まりを検出しリストに出現順で格納する。
第四段階>>
リストの結果を一覧表示して処理完了する。
こんな感じでどうでづか。
投稿2015/10/15 06:28
総合スコア28
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
1-Javaファイルを読み込んで文字列に変換する。
2-正規表現を使って文字列の中から条件に合うものを抽出する。
初心者ということなので、調べながら作ることを、お勧めします。
調べるときのキーワードは下記でしょうか。
・File 読み込み
・正規表現
・Java 正規表現
投稿2015/10/14 15:21
総合スコア18155
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。