salsberry の回答履歴
- バックグラウンドでキー監視
こんにちは。c#初心者兼、"java始めました" です。 題の通り、知りたいのはフォーカスがない状態、というか、バックグラウンド・常駐状態で押されたキーを取得する方法です。 c#ではGetAsyncKeyStateメソッドを使えば出来ましたが、javaはそれらしいものが見つからなというか、見つからなくはないのですが、使い方がよくわかりません。 それ以外はKeyListenerを使う(フォーカスがないと使えない)パターンの物しかなく、目的のものが見つかりませんでした。 どなたか、わかる方いらっしゃいましたら教えてください。
- java 外部プログラムの実行
いつもお世話になっています。 タイトルのとおり外部プログラムの実行方法についてです。 現在プログラムAを実行するとプログラムBが実行されるプログラムを作成できないかと考えています。 少し調べてみたところ外部プロセスの実行がそれにあたるかと思うのですが、ネット上にあるサンプルプログラムを実行してみてもコンパイルこそできるものの実行がエラーになってしまいます。 以下のサイトを参考にしていますが、サンプルにある通りのメモ帳の実行は出来ますが,javaプログラムの実行はできない状態です。 http://syunpon.com/programing/java/sample/execute.shtml 私の考えているようなことはjavaで実装可能なのでしょうか? ご存知の方おられましたらご教授お願いします。
- Open JTalk2の文字列読み上げに関して
Javaを用いて音声を読み上げるプログラムの作成に取り組んでいます。 今は事前にテキストファイル(これを引数として与えています)で記載した文字列の読み上げしかできていないのですが、読み上げる文字列を直接プログラムのコードに書き出すことは可能でしょうか? もし、可能ならその方法を教えて頂けるとありがたいです。 どうか、よろしくお願いいたします。
- ベストアンサー
- Java
- tajitaji323
- 回答数2
- ArrayListのパッケージがlistでない理由
・パッケージについて教えてください ■質問1 ・ArrayListのパッケージは、どうして「java.util.List」ではなくて「java.util.ArrayList」なのでしょうか? ・ArrayListは、Listインターフェイス実装クラスなのでListに紐付いている、と思ったのですが… ・「java/util/List.interface」と「java/util/ArrayList.class」は並列の位置づけになるのでしょうか? ・そういう決まりだから? ・Listインターフェイスのパッケージ名は下記で確認するのでしょうか? ・http://docs.oracle.com/javase/jp/7/api/java/util/List.html ■質問2 ・「import java.util.*;」表記ができるなら、全部これで良いようにも思うのですが、どういう風に使い分けるのでしょうか? ・普通はどちらを使う、とかあるのでしょうか?
- Open JTalk2の文字列読み上げに関して
Javaを用いて音声を読み上げるプログラムの作成に取り組んでいます。 今は事前にテキストファイル(これを引数として与えています)で記載した文字列の読み上げしかできていないのですが、読み上げる文字列を直接プログラムのコードに書き出すことは可能でしょうか? もし、可能ならその方法を教えて頂けるとありがたいです。 どうか、よろしくお願いいたします。
- ベストアンサー
- Java
- tajitaji323
- 回答数2
- HTC one simフリー アジア向け端末の購入
初めてsimフリー端末に手を出します。 あれこれ検索して思案した結果、「OCN モバイル エントリー d LTE 980」を「HTC One 801s LTE Asia Version」で利用し、電話はガラケーを使うことにしようと思います。 すでにわかっている問題として、アンテナピクト問題があるというのはわかりましたが、パッチで対応可能との記事を見たので大丈夫かと思っています。 何分初めてですので、この構成で何か問題がないか詳しい方に助言を頂きたい次第です。 特に気になるのはHTC one Asia versionで、日本でLTEは利用可能なのかということです。 お時間がありましたら、ご教示ください。よろしくお願いします。
- Javaが途中で止まってしまいます
Javaで音声ファイルを変換するスクリプトなのですが、音声ファイル自体は認識して「ファイルコピー終了」と出るのですが、実際にはコピーされておらず、そこで終わってしまい変換工程まで辿り着かない状態です。 ============================== import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class OnseiFileConvert { /** * @param args */ public static void main(String[] args) { OnseiFileConvert exe = new OnseiFileConvert(); exe.execute(); } /** m = 0x80; for( i=0; i<fsize; i++, m++ ) { if( m == 0xFF ) { m = 0x80; } fread( &t, 1, 1, fp ); t = t^m; fwrite( &t, 1, 1, fp_out ); } */ public void execute(){ String voice_dir_in = "C:\\java\\onsei"; String voice_dir_out = "C:\\output\\onsei"; try { convVoice(voice_dir_in,voice_dir_out); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 音声変換処理 * @throws IOException * @throws InterruptedException */ private void convVoice(String voice_dir_in,String voice_dir_out) throws IOException, InterruptedException{ System.out.println("ディレクトリーコピー開始"); System.out.println("xcopy /T /E \"" + voice_dir_in + "\" \"" + voice_dir_out +"\""); Process proc = Runtime.getRuntime().exec( "xcopy /T \"" + voice_dir_in + "\" \"" + voice_dir_out +"\""); proc.waitFor(); proc.destroy(); System.out.println("ディレクトリーコピー終了"); System.out.println("ファイルコピー開始"); convData(voice_dir_in, voice_dir_out); System.out.println("ファイルコピー終了"); } /** * @param voice_dir_in * @param voice_dir_out * @throws IOException * @throws InterruptedException */ private void convData(String voice_dir_in, String voice_dir_out) throws IOException, InterruptedException { System.out.println(voice_dir_in + "/" + voice_dir_out); File in_file = new File(voice_dir_in); File[] in_files_list = in_file.listFiles(); for(int i = 0; i < in_files_list.length ; i++ ){ File chFile = in_files_list[i]; if(chFile.isDirectory()){ convData(voice_dir_in + "\\" + chFile.getName() ,voice_dir_out + "\\" + chFile.getName() ); } else { String file_name = chFile.getName(); System.out.println(file_name); if(".".equals(file_name.substring(0, 1))){ file_name = file_name.substring(1, file_name.length()-4); File ofile = new File(voice_dir_out + "\\" + file_name); if( ofile.length() == 0 ){ convFile(voice_dir_in + "\\" + chFile.getName(),voice_dir_out + "\\" + file_name); } } } } } /** * ファイル単位に変換を実施する処理 */ private void convFile(String input_file_name,String out_file_name) { //convert FileInputStream fip = null; FileOutputStream fop = null; try { System.out.println("変換開始"); fip = new FileInputStream(input_file_name); fop = new FileOutputStream(out_file_name); long fsize = (new File(input_file_name)).length(); int m = 0x80; for( int i=0; i< fsize; i++, m++ ) { if( m == 0xFF ) { m = 0x80; } int t = fip.read(); t = t^m; fop.write(t); } System.out.println("変換完了" + fsize + "Byte"); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ try { if(fip != null){ fip.close(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { if(fop != null){ fop.close(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } ============================== 長時間悩んで書き直したりしたのですが、やはり結果が変わらずお手上げ状態です。 どうぞご助力お願いします。
- プリミティブ以外のデータ型が分からないので教えて
class ★★<Object, Integer, List<■■>> ・この時、List<■■>のデータ型を何と呼ぶのでしょうか? (配列型? クラス型? ユーザー定義型? それ以外?) ・「ジェネリクスで指定できる型」と「普通に指定できる型」に違いはありますか? (ジェネリクスでしか指定できない、みたいな型はある?) ・「List<データ型>」の「データ型」として指定できる内容には、どんなものがあるのでしょうか? (ユーザー定義クラス?)
- プリミティブ以外のデータ型が分からないので教えて
class ★★<Object, Integer, List<■■>> ・この時、List<■■>のデータ型を何と呼ぶのでしょうか? (配列型? クラス型? ユーザー定義型? それ以外?) ・「ジェネリクスで指定できる型」と「普通に指定できる型」に違いはありますか? (ジェネリクスでしか指定できない、みたいな型はある?) ・「List<データ型>」の「データ型」として指定できる内容には、どんなものがあるのでしょうか? (ユーザー定義クラス?)
- windowsでSMLファイルを実行する方法
smlと付いた拡張子をwindows上で実行したいです。 下記サイトを参考に試してみたのですが、 http://blog.shirayu.net/article/28411895.html インストール途中で $ sh config/install.sh config/install.sh: Using shell /bin/sh. config/install.sh: SML root is /opt. config/install.sh: Installation directory is /opt. config/install.sh: Installing version 110.55. config/install.sh: URL of source archive is http://smlnj.cs.uchicago.edu/dist/working/110.55/. config/install.sh: Script /opt/bin/.arch-n-opsys reports ARCH=x86; OPSYS=cygwin; HEAP_SUFFIX=x86-cygwin. /opt/config/unpack: Please, fetch run-time archive (runtime.* or 110.55-runtime.*) from http://smlnj.cs.uchicago.edu/dist/working/110.55/ and then re-run this script! config/install.sh: line 320: cd: /opt/src/runtime/objs: No such file or directory config/install.sh: Compiling the run-time system. make: mk.x86-cygwin: No such file or directory make: *** No rule to make target 'mk.x86-cygwin'. 中止. config/install.sh: !!! Run-time system build failed for some reason. このようなエラーが発生してうまくいきませんでした。 他の方法でも良いのですが、windowsでSMLを取り扱うにはどのようにすれば良いのでしょうか?
- ベストアンサー
- その他(プログラミング・開発)
- janneofworld
- 回答数1
- TCP関係のjavaプログラム
TCPでオウム返しをするサーバとクライアントソフトでクライアント側でピリオドだけを入力すると接続を切るプログラムを作っているのですがなかなか思い通りにいきません。 正しいソースコードを教えてください。 クライアント側のソースコード import java.io.*; import java.net.*; public class echoClient { public static void main(String[] args) { Socket echoSocket = null; DataOutputStream os = null; BufferedReader is = null; try { echoSocket = new Socket("localhost", 9999); os = new DataOutputStream(echoSocket.getOutputStream()); is = new BufferedReader(new InputStreamReader(echoSocket.getInputStream())); } catch (UnknownHostException e) { System.err.println("Don't know about host: localhost"); } catch (IOException e) { System.err.println("Couldn't get I/O for the connection to: localhost"); } if (echoSocket != null && os != null && is != null) { try { os.writeBytes("HELLO\n"); String responseLine; if ((responseLine = is.readLine()) != null) { System.out.println("Server: " + responseLine); } os.close(); is.close(); echoSocket.close(); } catch (UnknownHostException e) { System.err.println("Trying to connect to unknown host: " + e); } catch (IOException e) { System.err.println("IOException: " + e); } } } } サーバー側のプログラム import java.io.*; import java.net.*; public class echoServer { public static void main(String args[]) { ServerSocket echoServer = null; String line; BufferedReader is; PrintStream os; Socket clientSocket = null; try { echoServer = new ServerSocket(9999); } catch (IOException e) { System.out.println(e); } try { clientSocket = echoServer.accept(); is = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); os = new PrintStream(clientSocket.getOutputStream()); while (true) { line = is.readLine(); os.println(line); } } catch (IOException e) { System.out.println(e); } }
- 締切済み
- Java
- johosiritai
- 回答数1
- Andoridの標準クラスという呼び方をする?
Androidに関して ■質問 ・Android SDKで提供されているクラスを、何と言うでしょうか? ・また、ユーザーが自分で定義したクラスを、何と言うでしょうか? ・それぞれ、「標準クラス」、「ユーザ定義クラス」と呼んでよいのでしょうか? ■質問背景 ・そもそも「標準クラス」は何を指す言葉なのでしょうか? ・Java言語が提供しているクラスだけを指して言う言葉? ・Android SDKで提供されているクラスは、また別の呼び方をする?
- Xcodeについてです。
・XcodeはMacでしかできませんか? ・もしそうであればXcodeの無料ダウンロードできる中で、一番最新のバージョンと、それが動かせるMacの種類を教えて下さい。お願いします。 初心者なのであまりわかりません。なのでできれば詳しくお願いいたします。 ついでに私はC言語をしようと思っています。
- ベストアンサー
- C・C++・C#
- osieteyo---
- 回答数2
- Androidアプリ実行エラー2
Androidアプリ実行エラー ソースはこちらです。 package com.example.sudoku; import android.content.Context; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.Rect; import android.graphics.Paint.FontMetrics; import android.graphics.Paint.Style; import android.util.Log; import android.view.KeyEvent; import android.view.MotionEvent; import android.view.View; import android.view.animation.AnimationUtils; public class PuzzleView extends View { private static final String TAG = "Sudoku"; private float width; private float height; private int selX; private int selY; private final Rect selRect = new Rect(); private final Game game; public PuzzleView(Context context) { super(context); this.game = (Game) context; setFocusable(true); setFocusableInTouchMode(true); } @Override protected void onSizeChanged(int w, int h, int oldw, int oldh) { width = w / 9f; height = h / 9f; getRect(selX, selY, selRect); Log.d(TAG, "onSizeChanged: width " + width + ", height" + height); super.onSizeChanged(w, h, oldw, oldh); } @Override protected void onDraw(Canvas canvas) { //背景色の描画 Paint background = new Paint(); background.setColor(getResources().getColor( R.color.puzzle_background)); canvas.drawRect(0, 0, getWidth(), getHeight(), background); //盤面を描画する //枠線の色を定義する Paint dark = new Paint(); dark.setColor(getResources().getColor(R.color.puzzle_dark)); Paint hilite = new Paint(); hilite.setColor(getResources().getColor(R.color.puzzle_hilite)); Paint light = new Paint(); light.setColor(getResources().getColor(R.color.puzzle_light)); //マス目を区切る線 for (int i = 0; i < 9; i++) { canvas.drawLine(0, i * height, getWidth(), i * height, light); canvas.drawLine(0, i * height + 1, getWidth(), i * height + 1, hilite); canvas.drawLine(i * width, 0, i * width, getHeight(), light); canvas.drawLine(i * width + 1, 0, i * width + 1, getHeight(), hilite); } //3*3を区切る線 for (int i = 0; i < 9; i++) { if(i % 3 != 0) continue; canvas.drawLine(0, i * height, getWidth(), i * height, dark); canvas.drawLine(0, i * height + 1, getWidth(), i * height + 1, hilite); canvas.drawLine(i * width, 0, i * width, getHeight(), dark); canvas.drawLine(i * width + 1, 0, i * width + 1, getHeight(), hilite); } //数値を描画する Paint foreground = new Paint(Paint.ANTI_ALIAS_FLAG); foreground.setColor(getResources().getColor(R.color.puzzle_foreground)); foreground.setStyle(Style.FILL); foreground.setTextSize(height * 0.75f); foreground.setTextScaleX(width / height); foreground.setTextAlign(Paint.Align.CENTER); //マスの中央に数字を描く FontMetrics fm = foreground.getFontMetrics(); //x軸方向でセンタリングする。中央のx座標に揃える float x = width / 2; // float y = height / 2 - (fm.ascent + fm.descent) / 2; for (int i = 0; i < 9; i++) { for (int j = 0; j < 9; j++) { canvas.drawText(this.game.getTileString(i, j),i * width + x, j * height + y, foreground); } } //ヒントを描画する //選択されたマスを描画する } private void getRect(int x, int y, Rect rect) { rect.set((int) (x * width), (int) (y * height), (int) (x * width + width), (int) (y * height + height)); } } ログはこちらです。 ご回答をよろしくお願いします。 http://okwave.jp/qa/q8272113.html
- AU Xperia ULのWi-fi接続について
インターネット接続されたiMacを母機として、Xperia ULで無線?を受け取りたいのですが、Xperia側の設定の仕方がわかりません。 ご存知の方がいらっしゃいましたら、ご教授頂けないでしょうか?
- ベストアンサー
- Android
- 山田 abc 太郎 abc
- 回答数1
- byte配列→float型の値を読みlongに変換
UTF-8 encodingで書かれたテキスト分とfloat型 (IEEE-754/octet-stream)で書かれたバイナリ分混ざったファイルがあります。そのファイルをdataInputStreamを使って読んで、byte配列に保存されています。 FileInputStream fis = new FileInputStream(ファイル); DataInputStream dis = new DataInputStream(fis); byte[] bs = new byte[適切なサイズ]; //読み込み dis.read(bs); byte配列「bs」のindex 0 から 5までテキスト情報(XML式のヘッダー情報)あると仮定します。 UTF-8の分は for loop で "new String(bs, loop index, 1, "ASCII")"すると読み取れます。 問題は以下: index 6 から 17まではfloat型のバイナリデータ保存されているとします。 たとえば、index 6 から 順番に以下のHex string があります。 01 2A 5F 4E B4 F2 45 4E 92 6A 5F 4E (4つのグループにしたのは分かりやすくするため) 上記float型のHex String をlong intに変換して、別途用意された配列に保存したい。 ネット検索でByteBufferにwrapメソッドを使って、getFloat(index) 又は getFloat()でfloat型取得できると書いていますがその先はどうやってlong int変換できるのでしょうか? 上記のHex string の変換後の値(取扱いしたい値)は19554126, 3035776334, 2456444750です。 今までのコード: long [] data = new long [既知のサイズ]; ByteBuffer b = ByteBuffer.wrap(bs).order(ByteOrder.LITTLE_ENDIAN); //なんらかのloop 又は ByteBuffer b の最後まで読める仕組み(remainingというメソッド?){ Float f = b.getFloat(); 又は Float f = b.getFloat(loop index); data[index] = fの longに変換した値 // つまり 19554126, 3035776334 .... } ネットで探していますが、やり方まだわからない。 どなたか、教えてください。 よろしくお願いします。
- processingの文字入力について
現在、プログラミング言語processingを勉強しているのですが、どのようにプログラムを書いたらいいか分からないので、教えてください。 作ろうとしているのは、フラッシュ暗算を行うプログラムなのですが、 processingの場合は、文字入力するときに、1文字しか認識されませんが、 もし2文字、3文字などを入力したい時は、どのようにすればいいのでしょうか? 例えば、フラッシュ暗算で、合計値が52だったとき、52を入力すると、正解とでるプログラムを作りたいわけですが、おそらく配列を使うと思いますが、いったいどのようにしたら52という数字を配列に格納させればいいのでしょうか?
- ベストアンサー
- その他(プログラミング・開発)
- final2909
- 回答数2
- processingの文字入力について
現在、プログラミング言語processingを勉強しているのですが、どのようにプログラムを書いたらいいか分からないので、教えてください。 作ろうとしているのは、フラッシュ暗算を行うプログラムなのですが、 processingの場合は、文字入力するときに、1文字しか認識されませんが、 もし2文字、3文字などを入力したい時は、どのようにすればいいのでしょうか? 例えば、フラッシュ暗算で、合計値が52だったとき、52を入力すると、正解とでるプログラムを作りたいわけですが、おそらく配列を使うと思いますが、いったいどのようにしたら52という数字を配列に格納させればいいのでしょうか?
- ベストアンサー
- その他(プログラミング・開発)
- final2909
- 回答数2
- java のスレッドについて
java のスレッドについて javaでスレッドを作って処理をさせたいと思います。 メインのクラスでスレッドAを呼び出し、スレッドAで計算をしてその結果をメインのクラスで利用したい場合、一番簡単な方法は何でしょうか? なお、メインのクラスは、 while (Thread.isAlive()); な感じでスレッドが終わるまで処理を止めておきたいと思います。 簡単なコードを書いていただけないでしょうか?
- ベストアンサー
- Java
- nakisan2011_12
- 回答数2