質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.22%

初歩段階プログラミング

受付中

回答 3

投稿

  • 評価
  • クリップ 0
  • VIEW 870
退会済みユーザー

退会済みユーザー

お世話になります。
使用言語はJavaです。
プログラム中にある名前を全て出力するプログラムを作りたいのですが
初心者でうまく組む事ができません。

条件
このプログラムでの"名前"はアルファベットで始まりアルファベットまたは数字の続く文字列とする。
またコメント中のものは省く。

具体例

入力
main(){
    int n1, num2/n4/; 
    n1 = 1000/n3;
}

以上の入力を行った結果として以下の結果を出力するプログラムを組みたいです。

出力
main
int
n1
num2
n1
n3

よろしくお願いします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

0

1-Javaファイルを読み込んで文字列に変換する。
2-正規表現を使って文字列の中から条件に合うものを抽出する。

初心者ということなので、調べながら作ることを、お勧めします。

調べるときのキーワードは下記でしょうか。
・File 読み込み
・正規表現
・Java 正規表現

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/10/15 00:54

    アドバイスありがとうございます。
    正規表現ですか、明日帰宅後に調べてみようと思います。
    極力自分で進めていかなければいけないのですが
    期日まであまり時間がなく質問させて頂きました。
    プログラミング自体が初めての為、
    頂いたアドバイスで解決できないかもしれません。
    行き詰まってしまった時の為に、さらにヒントなどありましたら
    よろしくお願いします。

    キャンセル

0

コメントって、/*と*/で囲まれたものですか。
java だから、// も必要。


a-z
A-Z
で始まり、数字を含む1文字以上の文字列に分解して、コメント中はカウントしない。
コメントは、複数行コメントと行コメント両方で、ネストは許可制とする。
/* aaa /* bbb */ ccc */
のとき、ネストを許可しない場合はエラーとするか、最大一致とするか、先読みが必要ですね。
上記でネスト許可しない場合、ccc は1カウントされます。java 文法的には、2つ目の /* で
コメントネストでエラーです。文字数をカウントするツールは、
こめんとの書き方は、java文法と同じもので、閉じてないコメントは許されない、とするのが
妥当なところでしょうか。

処理としては、
第一段階>>
  複数行コメントを検出して半角スペースに置換する。
第二段階>>
  行コメントを検出して半角スペースに置換する。
第三段階>>
  a to z A to Z で始まり、数字を含む1文字以上のアルファベットと数字から構成される固まりを検出しリストに出現順で格納する。
第四段階>>
  リストの結果を一覧表示して処理完了する。

こんな感じでどうでづか。


投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

アルファベットで始まりアルファベットまたは数字の続く文字列のみを表示するプログラムです
アルファベットまたは数字の半角文字コードの範囲の数値の文字が続く文字列のみを表示し、改行が続く場合は表示しないようにしています

import java.io.BufferedReader; 
import java.io.FileReader; 
import java.io.IOException; 
import java.io.InputStreamReader; 
import java.io.*; 


class CU { 
    public static void main( String[] args ) { 
        try { 
            FileReader br 
                = new FileReader( new File("C:\\file\\test.java") ); //このファイルを読む

            int  date; 

        int flag=0;

        int flag2=0;

        int yn=(int)'\n';
            // ファイルをchar単位で読む 
            while( (date = br.read()) != -1 ) { 

        if((date>=48 && date<=57) || (date>=65 && date<=90) || (date>=97 && date<=122) ){
            flag=1;
            flag2=0;
            System.out.print((char)date);

        }else if(flag2==0){flag=0;

            System.out.println();
            flag2=1;            
            }





            } 
            br.close(); 
        } catch( IOException e )  { 
            System.out.println( "入出力エラーがありました" ); 
        } catch( NumberFormatException e )  { 
            System.out.println( "フォーマットエラーがありました" ); 
        } 
    } 
}

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.22%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る