salsberry の回答履歴
- java ME MIDPにおいて
java ME MIDPにおいて Canvasクラスの public void paint(Graphics g){ g.setColor(255,255,255);} で、メインのMIDletクラスが 起動すると自動でpaintが呼ばれる仕組みが理解できません。 また、paintの引数のGraphicsクラスは String.voluOf();のStringクラスの様にインスタンス化せずに使っているクラスですか? さらに、setColoor();もstaticメソッドではないのになぜ使えるのでしょうか? 以上三点、 どういう振る舞いをしているのでしょうか?
- C言語 入出力ファイルの読み書きとプリントアウト
入力データ(番号、名前、年齢、住所)を入力データファイル「in.txt」から読み込み、番号順に並べ替えて、出力データファイル「out.csv」に書き出す&プリントアウトするプログラムを作りたいのですが、プログラムを実行する度にコンパイラからプリントアウトする方法(例えばプリンターをプログラム内で指定)を教えてください。回答お願いします
- java ME MIDPにおいて
java ME MIDPにおいて Canvasクラスの public void paint(Graphics g){ g.setColor(255,255,255);} で、メインのMIDletクラスが 起動すると自動でpaintが呼ばれる仕組みが理解できません。 また、paintの引数のGraphicsクラスは String.voluOf();のStringクラスの様にインスタンス化せずに使っているクラスですか? さらに、setColoor();もstaticメソッドではないのになぜ使えるのでしょうか? 以上三点、 どういう振る舞いをしているのでしょうか?
- パイプ処理の結果は利用可能?
今現在Perlの勉強をしているところなのですが、詰まってしまったのでアドバイスをいただきたいです。あるPerlプログラムで作成したファイルを、そのプログラム内でパイプ処理し、その結果を再びそのプログラム内で利用したいと考えています。例えば以下のようなプログラムPは作成可能でしょうか、可能であればその方法を教えていただきたいです。サンプルコードなどがあれば幸いです。 プログラムPの概要 あるファイルを作成する→そのファイルを別のプログラムで実行(結果は○か×を出力)→結果が○であれば再びファイルを作成する、結果が×であればプログラム終了
- Javaの強制終了するコード
Javaのテスト勉強をしております。 つきましては教えていただきたいことがございます。 入力値に問題があったらプログラムを強制終了させるコードとしてテキスト中では 問題によってreturn()となっていたりSystem.exit()となっていたりします。 この二つは何が違うのでしょうか。 ご回答くださいますようお願いします。
- 情報学についての質問です。
考えても理解できなかったので教えてもらえるとうれしいです。 問 配列A,Bに正負の符号と絶対値の十進数をアスキーコードで表された値が入力されている。正負は0の時'#'、負の時は'-'で表され、続いて絶対値が一桁10進数の文字表現として代入されている。 (a)符号と絶対値がそれぞれCL,ALレジスタに与えられているとき、その値を8ビット符号付き整数としてBLレジスタに入力するsubroutinABSのフローチャートと命令コードを書く。 (b)配列A、Bの値をそれぞれ8ビット符号付き整数に変えた後、それらの和をDLレジスタに求める命令を書く。(a)のsubroutinを使う。 (c)(b)でDLレジスタに求められた8ビット符号付き整数を正負の符号と絶対値をアスキーコードで表し下の配列Cに入れる。この処理のフローチャートと命令コード書く。 DL:1111 1111B のとき、 C: '-'、'1' とする。 詳しい解説とともに解答していただけるとありがたく思います。お願いします。
- 形態素解析とtfidf計算処理のjavaプログラム
二つのプログラムを作成しようと思っています。 1、一行に「単語<tab>数字列(132:1,83:2,........)」という形のデータが存在するファイルを読み込んで、単語の部分(殆ど名詞)だけ抽出し形態素解析(cmecabを使用)して名詞の何の種類かによって値を与え、一行に「単語<tab>値」という形でテキストファイルに出力するプログラム 値について 一般名詞、固有名詞の場合:2 形容動詞語幹の場合:1 サ変接続、副詞可能、ナイ形容詞語幹、接尾、非自立の場合:0.5 代名詞、数詞、その他(動詞や副詞、接頭詞)の場合:0 例:読み込むファイルの中身(単語<tab>文書番号:その文書での単語の出現回数,.........) 小学校 76:1,167:1,254:1,395:1,400:1,488:1 旦那 183:1 委員 275:1 最終 401:1 月曜日 376:1 以下のプログラムはCmecabでテキストファイルを読み込んで形態素解析し出力するプログラム。これを改造すればいけると思っています。 // 引数に解析したいファイルを指定 // 結果は"cmecab-output.txt"に出力 // コンパイル方法"javac -encoding utf8 cmecab.java" // 入力ファイルの文字コードはUTF8で保存しておく // 出力ファイルの文字コードもUTF8で出力されるので注意 // Mecabの辞書はUTF8でコンパイルしておくこと import net.moraleboost.mecab.Tagger; import net.moraleboost.mecab.impl.StandardTagger; import net.moraleboost.mecab.Node; import java.io.*; import java.util.*; import java.lang.*; public class cmecab{ public static void main(String[] args) throws Exception{ // 引数が無い場合はヘルプを表示 if (args.length == 0) { System.out.println("使用方法: java cmecab [入力テキストファイル名]"); return; } // バージョン文字列を取得 System.out.println("MeCab version: " + StandardTagger.version()); // 入出力ファイルの設定 BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(args[0]), "UTF-8")); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("cmecab-output.txt"), "UTF-8")); String text = ""; while((text = br.readLine()) != null){ // Taggerを構築。 // 第一引数には、MeCabの辞書の文字コードを与える。 // 第二引数には、MeCabのcreateTagger()関数に与える引数を与える。 Tagger tagger = new StandardTagger("UTF-8", ""); // tagger.parse()を呼び出して、文字列を形態素解析する。 // 返されるオブジェクトは、Iterator<String>を実装している。 Node node = tagger.parse(text); // 一つずつ形態素をたどりながら、表層形と素性を出力 while (node.hasNext()) { String surface = node.next(); String feature = node.feature(); bw.write(surface + "\t" + feature +"\n"); } // taggerをクローズ tagger.close(); } br.close(); bw.close(); } } 例:形態素解析して出力される形(「単語<tab>品詞,名詞の形」において「名詞の形」の部分を抽出して上記に書いた値に振り分けたいと思っている。) 70 名詞,数,*,*,*,*,* : 名詞,サ変接続,*,*,*,*,* 1 名詞,数,*,*,*,*,* 何処 名詞,代名詞,一般,*,*,*,何処,ドコ,ドコ 2、1で読み込んだ「単語<tab>文書番号:その文書での単語の出現回数,.........」という形のファイルを読み込んでtfidf値を求め、一行に「単語<tab>tfidf値」という形でテキストファイルに出力していくプログラム tfidfの定義 tf=文書番号Yにおける単語Xの出現確率(出現確率の分母はその文書における単語の合計数) idf=log(文書の合計数/単語Xを含む文書数) よろしくお願いいたします。
- #ifdef の使い方
組み込み系のプログラムを現在勉強しています。 #ifdefについて質問させて頂きます。 下記コードの場合 #ifdef A ---- (1) Y = Z; #else -----#if B ------- (2) X = Z; ----#endif #endif ("-"は空白と思ってください。) この場合、Aが定義されていれば(1)が実行しコンパイル終了(#endif)。 Aが定義されていない場合、#else に行き、Bが定義されている場合は (2)を実行してコンパイル終了(#endif)という理解であっていますか? またこうした方が分かりやすいなど、アドバイス頂けると幸いです。 ご返答よろしくお願いします。
- パスワードのMD5ダイジェスト化処理について
表題の件、「strutsによるwebアプリケーションスーパーサンプル第三版」で、以下の処理が理解できませんでした。 //byteを1つ取り、絶対値に変換する int n = md5[i] & 0xff; MD5やダイジェスト化について十分に理解できないないこともございますが、よろしければ簡潔にお教えいただけないでしょうか。 よろしくお願いいたします。
- JAVAでのDBT_DEVICEARRIVAL
JAVAでUSB機器が接続されているかどうかを判別しようと考えています。 調べてみたところ、DBT_DEVICEARRIVALなどのUSB機器の使用状態を示す パラメータがあるので、それを使おうと思うのですが、 JAVAでそれらのパラメータを扱うにはどうすればいいのかわかりません。 質問内容が抽象的で申し訳ないのですが、JAVAでそれらのパラメータを扱うには どうすればよいのか教えていただけると助かります。よろしくお願いします。
- Javaで、半角カナを2バイトとしてカウントしたい
JavaでSJISで入力された文字列(全角、半角、英字、記号等混在)の桁数チェックで、 入力された半角カナのバイト数を、2バイトとみなしてカウントしたいと考えています。 例えば 全角の"テスト"の場合、バイト数は6 半角の"テスト"の場合も、バイト数は6 Javaで以下の様にコーディングしたところ、半角カナ部分はとりあえずうまく行ったのですが、 System.out.println 半角の"テスト".getBytes("EUC-JP").length; ->6 特殊な文字「まるの1、まるの2」等で試すと、特殊な文字のバイト数が1バイトとして カウントされてしまいます。 ※まるの1、まるの2は、この質問フォームで入力できないのでこの記載としています。 以降は(1),(2)と記載します。いずれも全角1文字の文字のことです。 System.out.println "(1)".getBytes("EUC-JP").length; ->1 ※希望結果は2バイト System.out.println "(2)スト".getBytes("EUC-JP").length; ->5 ※希望結果は6バイト 特殊な文字「(1)、(2)」や半角カナ(2バイトとしてカウント)を含めて、 簡単にバイト数をカウントすることはできないでしょうか。
- JAVAでのUSB機器検知について
JAVAでUSB機器の検出の実装をしています。 現在getLogicalDrivesメソッドを用いた実装を考えていますが、コンパイルエラーとなってしまいます。 ソース中の、「stDrives = getLogicalDrives();」の部分で、「メソッド getLogicalDrives() は型 win32 で未定義です」とエラーが出ます。 原因がわからないので、原因と対処法をよろしくお願いします。 もしほかにUSB機器の検知について方法があればそちらの方もお願いしたいと思います。 OSはwindowsXP、eclipseで開発しています。 import java.lang.Object; import org.seasar.uruma.util.win32; public class win32 { public int usb(){ String[] stDrives; stDrives = getLogicalDrives(); return 1; } }
- 浮動小数点とセットで使用される「e」について
Javaの参考書で、以下のコードがありました。 『double d2=1.2345e-72』 質問1:このコードの「e」について、常用対数のことでしょうか? 質問2:1.2345e-72は、『1.2345*10の-72乗』でしょうか? 質問3:浮動小数点において、なぜ常用対数は必要なのでしょうか? その理由は、「浮動小数点の桁数を簡単にできるから。またdoubleの表現できる精度より高いそれ表現できるから」でしょうか?
- JAVAでのUSB機器検知について
JAVAでUSB機器の検出の実装をしています。 現在getLogicalDrivesメソッドを用いた実装を考えていますが、コンパイルエラーとなってしまいます。 ソース中の、「stDrives = getLogicalDrives();」の部分で、「メソッド getLogicalDrives() は型 win32 で未定義です」とエラーが出ます。 原因がわからないので、原因と対処法をよろしくお願いします。 もしほかにUSB機器の検知について方法があればそちらの方もお願いしたいと思います。 OSはwindowsXP、eclipseで開発しています。 import java.lang.Object; import org.seasar.uruma.util.win32; public class win32 { public int usb(){ String[] stDrives; stDrives = getLogicalDrives(); return 1; } }
- String文字列の解析の方法(初歩的ですみません
皆様、はじめまして。sakiと申します。 javaを習い始めて2週間の初心者です。 今回はどうしてもわからな問題があり、質問することに致しました。 どうぞよろしくお願いします。以下、問題です。 String文字配列のaaa[SAKI]and[DOG]like[DOG=5]love[SAKI=-20]を左からj順に解析していく。 [ ]で囲まれていない文字列はString文字列として返す。 [ ]が現れた場合は、中身が"SAKI"の場合は、String型文字列"SAKI"を返す。 [ ]の中身が"DOG"の場合は、String型文字列"DOG"を返す。 また[ ]の中に=がある場合は=の後ろの数字をint型で返す。 という処理がわかりません。 for文とcharAt()メソッドで1文字ずつ抜き出し、それをchar型配列に格納し、さらにString型に変換して判別するという方法を考えたのですが上手くいきませんでした。 ご親切な方がいらっしゃいましたら、どうぞよろしくお願いいたします。
- 複数インスタンスからの参照(同期がうまく動かない)
Javaで複数のノード間でデータをやりとりするプログラムを書いています。 ノードは自分の持っているデータの情報を相手に渡し、その情報を元に相手は欲しいデータをこちらに要求するという形になっています。 流れとしては 相手から情報がくる>自分のもっているデータ情報と照らし合わせる>足りないデータを要求 といった感じなのですが、ここで ほぼ同時に2つの相手から情報がくる>どちらも足りないデータで同じものをもっている >2つの相手に同じデータを要求してしまう という現象が起こっています。 データ要求の一連のプロセスは、情報をもらう相手ごとに別のインスタンスとして動いています。 片方がデータの要求をしている間にもう片方が自分のデータ情報を参照しないようにロックを かければいいとは思うのですが、マルチスレッドの同期や排他制御に不慣れで どうすればいいのかよくわかりません。 ソースがすでに膨大な量になっているためここには載せられず、わかりにくいかとは思いますが ご助力をお願いします。
- java String[]
メソッドを作成します 引数で String[] をもらいその個数を調べます その個数分の String[] を確保して 操作した文字列をセットして String[] の先頭ポインタをreturn します String[] の個数を調べる方法と その数だけ配列の確保の方法 を調べていますがよく分かりません よろしくお願いします
- テキストファイルの引き算
コマンドプロンプトから2つのファイルを引数指定して片方のみに存在する行を出力する方法を探しております。 (例) A.TXT ---- 111 222 333 444 555 B.TXT ---- 333 111 222 A.TXTからB.TXTを引き算した結果として、以下が出力したく考えています。 --- 444 555 OSはWindowsXPで、バッチファイルやVBスクリプトなど、コマンドラインから実行できる方法を探しています。(出回っているツールで、コマンドラインから実行できるものも可) ご存知の方がいらっしゃいましたら、ご教授ください。 よろしくお願い致します。
- ベストアンサー
- その他(プログラミング・開発)
- t29x0479
- 回答数4
- C言語、リダイレクト
C言語の初心者です。 コマンドプロンプトで「./a.out <text.txt」とうつと、text.txtのデータを取得し、表示するプログラムをつくろうと思っています。 試行錯誤の結果 #include <stdio.h> main(){ char abc; scanf("%s",&abc); printf("%c",abc); } だとエラーもなくコンパイルできるのですが、肝心のファイルの中身が一文字までしか表示されません。 これはchar abcでabcを一文字だけの変数にしているからみたいですが、調べてみたのですがどうもここから先に進めません。 どこをどのように変えれば良いですか?お願いします。
- 仕様に沿って3つの整数の最大値を表示させる
現在Javaプログラム基礎の練習問題を解いているのですが、 練習問題で指定された仕様でのプログラムの書き方がどうしても判らず困っています。 コマンドラインからプログラムを起動させる時に3つの整数を入力して、 その最大値を表示させよ。 という問題なのですが、仕様に沿って書くというところでつまづいてしまいます。 どなたか問題が解ける方おられましたら、お願いいたします。 問題文はこちらになります。 ============================================= 次の仕様をもとに処理結果を画面に表示するプログラムを作成しなさい。 コマンドラインより3つの整数を受け取とり、その値から最大のものを表示する Maxoutメソッドを完成させる。 public class MaxValue { public static void main(String[] args) { int a = Integer.parseInt(args[0]); int b = Integer.parseInt(args[1]); int c = Integer.parseInt(args[2]); Maxout(a, b, c); } static void Maxout(________) { //メソッド Maxout の内容をここに書く } } ●実行結果(コマンドラインより、22 47 13 を渡した場合の実行例) 22 47 13の最大値は47 ============================================