トップページ⇒tech
1001コメント344KB

【初心者】Java質問・相談スレッド103【大歓迎】

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2007/06/27(水) 07:23:27
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc10.2ch.net/hp/

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/
これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 http://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」

前スレッド
【初心者】Java質問・相談スレッド102【大歓迎】
http://pc11.2ch.net/test/read.cgi/tech/1180419689/

/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。

次スレは>>980あたりで。
0002デフォルトの名無しさん2007/06/27(水) 10:29:50
C言語で

int hoge = 100;
char buf[256];
memcpy(&buf[10], hoge, sizeof(hoge));

という処理をJavaで行うにはどのようなコードになりますでしょうか?
0003デフォルトの名無しさん2007/06/27(水) 10:57:21
>>2
char hoge = 100;
char[] buf = new char[256];
Arrays.fill(buf, hoge);

0004デフォルトの名無しさん2007/06/27(水) 11:38:26
>>3
嘘はいけないぞw

>>2
そのような処理は行えない。
char[] hoge = new char[256];
char[] buf = new char[256];
Arrays.fill(buf, hoge);
または、
System.arraycopyを使う
0005デフォルトの名無しさん2007/06/27(水) 12:49:54
バイナリーデータをintに入れたり出したりって
Javaだと難しいのでしょうか?
0006デフォルトの名無しさん2007/06/27(水) 12:57:13
int は4バイトなので
それ以上のデータを入れる場合は高度な圧縮技術が必要であろう
0007デフォルトの名無しさん2007/06/27(水) 12:57:37
>>5
4バイトまでだったらシフトやマスクしてふつーにできますよ。
0008デフォルトの名無しさん2007/06/27(水) 13:00:57
int hoge = 100;
char buf[256];
memcpy(&buf[10], hoge, sizeof(hoge));

コンパイルエラーです
本当にありがとうございました
0009デフォルトの名無しさん2007/06/27(水) 13:01:17
byte配列のことか?
0010デフォルトの名無しさん2007/06/27(水) 13:08:36
>>5
import java.io.*;

public class TestBinary{
public static void main(String[] args){
try{
int i = 100;
BufferedWriter bw = new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream("a.bin", true)
)
);
bw.write(i);
bw.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
0011デフォルトの名無しさん2007/06/27(水) 13:11:17
InputStreamReader isr = new InputStreamReader(
new FileInputStream("a.bin")
);
int j;
j = isr.read();
System.out.println(Integer.toString(j));
isr.close();
0012デフォルトの名無しさん2007/06/27(水) 13:18:29
>>7
はい。計算すればできるってのはわかってました。
後だしですみません。
ただ、もうちょっと普通にできるのではないかと思ったので。

>>10
ファイルを使うっすか?
これのメモリー版ってないっすか?
■ このスレッドは過去ログ倉庫に格納されています