【初心者】Java質問・相談スレッド127【歓迎】
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2009/06/09(火) 19:17:03JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理 http://pc11.2ch.net/hp/
Webプログラミング http://pc11.2ch.net/php/
をご利用下さい。
よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
前スレッド
【初心者】Java質問・相談スレッド126【歓迎】
http://pc12.2ch.net/test/read.cgi/tech/1242152793/
次スレは>>990あたりで。
過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/
0002デフォルトの名無しさん
2009/06/09(火) 19:18:13■ AWT と Swing は --
Java低速GUI Swing 8
ttp://pc11.2ch.net/test/read.cgi/tech/1227234261/l50
■ SWT は --
Java 高速GUI SWT 3
ttp://pc11.2ch.net/test/read.cgi/tech/1164877399/l50
■ NTT DoCoMo の iモード携帯電話用 Java (iアプリ) は --
iモード携帯電話用Java(iアプリ) Part19
http://pc11.2ch.net/test/read.cgi/tech/1233822965/l50
■ DoCoMo 以外は --
CLDC+MIDP+携帯電話用Javaスレッド part 8
ttp://pc11.2ch.net/test/read.cgi/tech/1206017034/l50
■ 課題・宿題は --
★★ Java の宿題ここで答えます Part 67 ★★
http://pc11.2ch.net/test/read.cgi/tech/1232627790/l50
**** 開発環境が必要の場合は ****
■ J2SE 1.4.0
ttp://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/index.html
■ J2SE 5.0 (1.5.0)
ttp://java.sun.com/j2se/1.5.0/ja/
■ Java SE 6
ttp://java.sun.com/javase/ja/6/
**** 実行環境だけが必要の場合は ****
■ Java ソフトウェアのダウンロード
ttp://www.java.com/ja/
0003デフォルトの名無しさん
2009/06/09(火) 19:21:00http://www.yomiuri.co.jp/national/news/20090605-OYT1T00623.htm
0004デフォルトの名無しさん
2009/06/09(火) 20:00:310005デフォルトの名無しさん
2009/06/09(火) 20:03:53JVMはもともと文字列プールというものを持っていて、
いわゆる文字型リテラルが指定された段階でプールにオブジェクトを作成し、そこへのポインタを返す。
同一の文字列が既にプールに在る場合は、そこへのポインタを返す。
776 名前:デフォルトの名無しさん 投稿日:2009/06/07(日) 02:14:11
たしかに明記されてるな。
String literals-or, more generally, strings that are the values of constant
expressions (§15.28)-are "interned" so as to share unique instances,
using the method String.intern.
文字列定数はString.internを使って得た一意なインスタンス。
0006デフォルトの名無しさん
2009/06/09(火) 20:05:280007デフォルトの名無しさん
2009/06/09(火) 20:06:36TreeNodeそのもの比較しろや。
0008デフォルトの名無しさん
2009/06/09(火) 20:14:18SwingのJChoiceクラスがないんですけど
何を使えばよろしいですか?
0009デフォルトの名無しさん
2009/06/09(火) 20:17:050010デフォルトの名無しさん
2009/06/09(火) 20:21:19JBottonとかはあります。
0011デフォルトの名無しさん
2009/06/09(火) 20:23:15JComboBox かな
0012デフォルトの名無しさん
2009/06/09(火) 20:23:290013デフォルトの名無しさん
2009/06/09(火) 20:40:11有難うございます。
>>12
買えと命令するのなら、
買う本くらい示したらどうだ?
0014デフォルトの名無しさん
2009/06/09(火) 20:44:570015デフォルトの名無しさん
2009/06/09(火) 20:46:08エスパーでもなければ不可能に決まってるだろ。
0016デフォルトの名無しさん
2009/06/09(火) 20:47:32nullよりも、例外を発生させる事の方が多いの?
0017デフォルトの名無しさん
2009/06/09(火) 20:47:450018デフォルトの名無しさん
2009/06/09(火) 20:50:580019デフォルトの名無しさん
2009/06/09(火) 20:51:430020デフォルトの名無しさん
2009/06/09(火) 20:55:310021デフォルトの名無しさん
2009/06/09(火) 21:01:56http://pc12.2ch.net/test/read.cgi/tech/1244542623/を
http://pc12.2ch.net/tech/dat/1244542623.datに
変換するプログラム
0022デフォルトの名無しさん
2009/06/09(火) 21:09:46とりあえず例外投げとけ。
5行くらい説明を書いていて途中で面倒くさくなった。
0023デフォルトの名無しさん
2009/06/09(火) 21:18:00これってPopupMenuの類なの?
0024デフォルトの名無しさん
2009/06/09(火) 21:26:18プリミティブなintとかが返値の型の時はどうすんのさ。
0025デフォルトの名無しさん
2009/06/09(火) 21:29:26swingに慣れていないのならThe Swing TutorialのUsing Swing Componentsに
swingのコンポーネントが一通り紹介されてるから目を通しておいた方がいい。
というかLearning Swing with the NetBeans IDEは環境の好みの問題もあるだろうから別にしても
他の項目は読んでおいて損はない。
ttp://java.sun.com/docs/books/tutorial/uiswing/index.html
0026デフォルトの名無しさん
2009/06/09(火) 21:55:46わかった、ありがとう
0027デフォルトの名無しさん
2009/06/09(火) 21:58:06今前スレ見たんだけど、こんな感じのことかな?違ったらスルーで。
無理やり縮めてるけど勘弁して。
// 作成順のインデックスを持つNodeクラス
import javax.swing.tree.DefaultMutableTreeNode;
public class HoldIndexNode extends DefaultMutableTreeNode {
private static int totalNodeIndex = 0;
private int nodeIndex;
// コンストラクタ
public HoldIndexNode() {
super(); setNodeIndex();
}
public HoldIndexNode(Object userObject) {
super(userObject); setNodeIndex();
}
public HoldIndexNode(Object userObject, boolean allowsChildren) {
super(userObject, allowsChildren); setNodeIndex();
}
// インデックス設定
private void setNodeIndex() {
nodeIndex = totalNodeIndex; totalNodeIndex++;
}
// インデックス取得
public int getNodeIndex() {
return nodeIndex;
}
}
0028>>27続き
2009/06/09(火) 21:58:58import java.awt.event.*;
import javax.swing.*;
import javax.swing.tree.*;
public class Main {
public static void main(String[] args) {
HoldIndexNode root = new HoldIndexNode("ルート");
HoldIndexNode node1 = new HoldIndexNode("子1");
HoldIndexNode node2 = new HoldIndexNode("子供(文字列同じ)");
HoldIndexNode node3 = new HoldIndexNode("子3");
HoldIndexNode node4 = new HoldIndexNode("子供(文字列同じ)");
root.add(node1); root.add(node2); root.add(node3); root.add(node4);
JTree tree = new JTree(root);
tree.addMouseListener( new MouseAdapter() {
public void mouseReleased(MouseEvent e) {
JTree tree = (JTree)e.getSource();
TreePath path = tree.getPathForLocation(e.getX(), e.getY());
if( path != null ) {
HoldIndexNode selectNode = (HoldIndexNode)path.getLastPathComponent();
System.out.println("selectNode.toString() =" + selectNode.toString());
System.out.println("selectNode.getNodeIndex()=" + selectNode.getNodeIndex() + "\n");
}
}
});
JFrame frame = new JFrame("HoldIndexNode Test");
frame.getContentPane().add(tree);
frame.pack();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
0029デフォルトの名無しさん
2009/06/09(火) 22:07:29全部?
日本語でおk?
ん?どうやるの?
0030デフォルトの名無しさん
2009/06/09(火) 22:24:03str += "def" + "ghi" + "lmn" + "opq・・・と一行に書いた場合は、
オブジェクトは何度も作り直されるのですか?
0031デフォルトの名無しさん
2009/06/09(火) 23:33:56ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/String.html
0032デフォルトの名無しさん
2009/06/10(水) 00:07:26日本語だけどなあ最近外人多いな
0033デフォルトの名無しさん
2009/06/10(水) 00:19:23ずっと思っていたけど、全部実装しないといけないんですね?
じゃあ、インターフェイスと同じなんですかね。
0034デフォルトの名無しさん
2009/06/10(水) 00:21:260035デフォルトの名無しさん
2009/06/10(水) 00:22:57使い分けないといかんよね
0036デフォルトの名無しさん
2009/06/10(水) 00:24:19継承する抽象クラスのabstractなメソッドは全て実装しないと
いけないんですよね?
0037デフォルトの名無しさん
2009/06/10(水) 00:27:56抽象クラスは自分でインターフェース宣言だけしておいて実体も無いのにメソッドを呼べる。
テンプレパターンってやつだけど、これが目茶苦茶便利なんだぜ。
0038デフォルトの名無しさん
2009/06/10(水) 00:35:04この日本語が理解できてないのは俺だけなのだろうか
0039デフォルトの名無しさん
2009/06/10(水) 00:40:19抽象で呼び出してメソッドはそれぞれの拡張クラスのメソッドをなんてことが可能だしな
これ使い出したらやめられなくなるぐらい面白くなる
0040デフォルトの名無しさん
2009/06/10(水) 00:43:450041デフォルトの名無しさん
2009/06/10(水) 00:44:290042デフォルトの名無しさん
2009/06/10(水) 00:46:33まだJava始めて半年だけど
newする時に結局サブクラス意識しないといけないから
あまり利点がわからない
0043デフォルトの名無しさん
2009/06/10(水) 00:49:13その中に10個の抽象メソッドがあって、使いたいのは9個のときは、
残りの一個もダミーで実装したりするんですか。
0044デフォルトの名無しさん
2009/06/10(水) 00:50:45この子なに?最近デザインパターン覚えて浮かれてる子?
そのうち継承しまくることのデメリットにぶち当たって絶望とかするの?
JTreeがどうなったのか気になる
0045デフォルトの名無しさん
2009/06/10(水) 00:53:00JTreeの子どうなったのかねえ
その後ぱったりだな
上手くいったのかな
0046デフォルトの名無しさん
2009/06/10(水) 01:04:14まあそんなことはない。
public abstract class Clazz{
abstract String getMessage();
public void send(){
//ここはサブクラスがgetMessage()で何を返そうが知ったこっちゃない
System.println(this.getMessage());
}
}
ただ使うときに当然サブクラス化は必要。
まあこういうのは高階関数とかファーストクラスの関数とかクロージャがある言語だと
本当にクラスを意識する必要はないんだけど。
0047デフォルトの名無しさん
2009/06/10(水) 01:24:31(Calendarクラスより)
0048デフォルトの名無しさん
2009/06/10(水) 01:29:390049デフォルトの名無しさん
2009/06/10(水) 14:16:58ScannerやBufferedReaderなどがありますが
どのように使い分けるのが普通なのでしょうか。
0050デフォルトの名無しさん
2009/06/10(水) 14:29:06読み込んだテキストを処理するのがScanner
ファイルを読み込む際に効率よく処理するために
バッファを利用するようにするのがBufferedReader
0051デフォルトの名無しさん
2009/06/10(水) 14:42:380052デフォルトの名無しさん
2009/06/10(水) 14:58:15byte[] utf8str = {(byte)0xE6, (byte)0x97, (byte)0xA5, (byte)0xE6, (byte)0x9C, (byte)0xAC};
// Stringオブジェクト生成
String s1 = new String(utf8str);
String s2 = new String(utf8str, "UTF-8");
String s3 = new String(utf8str, "JISAutoDetect");
System.out.println(s1); // 正常
System.out.println(s2); // 正常
System.out.println(s3); // 文字化け
上記のコードで、JISAutoDetectは
UTF-8のバイナリデータを認識できないってことなんでしょうか?
バイナリデータが、SJISやEUCの場合は問題無いのですが。
0053デフォルトの名無しさん
2009/06/10(水) 14:58:53入出力にはstreamと言う仮想の情報の流れが想定されている
0054デフォルトの名無しさん
2009/06/10(水) 15:12:42EUCかJISかShift-JISかを判断するモンだったはず。
0055デフォルトの名無しさん
2009/06/10(水) 15:13:24Streamはバイナリデータの入出力と考えると楽
0056デフォルトの名無しさん
2009/06/10(水) 15:19:50なるほど、ありがとうございます。
JISでも確認できました。
0057デフォルトの名無しさん
2009/06/10(水) 16:01:41UTF系が使えないのは当然だろ。
あとMS932は化けるはず。
0058デフォルトの名無しさん
2009/06/10(水) 16:59:28探してみても,ロックキーがonかどうか返すメソッドしか見つからないんですけど・・・
0059デフォルトの名無しさん
2009/06/10(水) 17:13:590060デフォルトの名無しさん
2009/06/10(水) 17:15:44表示させたいPDFは非公開のディレクトリに置く必要があります。
(PDFを直接リクエストできないようにしたい)
iText等を使う方法はググって見つかったのですが、そうしたのは使わずに
表示するサンプルが見つからずにいます。(jarの追加が許可されないので)
こんな感じでググれカスとか、このURL池とか、何か参考になる情報をお願いします。
0061デフォルトの名無しさん
2009/06/10(水) 17:46:15これのこと?
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/awt/im/InputContext.html#isCompositionEnabled()
0062デフォルトの名無しさん
2009/06/10(水) 18:05:02Mime-Type指定してバイナリのストリームで吐き出す
0063デフォルトの名無しさん
2009/06/10(水) 18:46:06インターフェイスがあるという理由だけなのでしょうか?
0064デフォルトの名無しさん
2009/06/10(水) 19:00:34さぁ、C++言語研究者にでも聞いて下さいな。
JavaはC++に最も強い影響を受けていることは、誰しもが認める
ところでしょう。ですんでご質問の事柄等は必ずしもJava内部の
論理で決まったものとは限らないかも知れません。
(例えばC++コード移植性を高める便宜が無かったとは断定できないと
思います)
釘を指しておきたいけれどJavaを誹謗しているのではなく、むしろ
その功績は偉大だと思ってます。色々と言語を見てきましたが
Javaほど中庸で最適な文法は無いと思ってます。
厳密過ぎず、高級過ぎずってとこですね。
Javaが出てなかったら10年前にソフトウェア産業は危機的な状況
に陥ってた可能性が高いと思ってます。
0065デフォルトの名無しさん
2009/06/10(水) 19:03:390066デフォルトの名無しさん
2009/06/10(水) 19:04:13>中庸で最適な文法
とかいうならScalaとかのほうが適当だと思うが。
JMV上でうごくんだけどな。
0067デフォルトの名無しさん
2009/06/10(水) 19:08:09クラスを継承することとインタフェースを実装することとは違う。
だからインタフェースが多重継承のためにあるわけではない。
多重継承ライクなことを行うのにも使えるだけで、
インタフェースを複数実装したからといって、
それはクラスの多重継承とは異なるものだ。
インタフェースはその名の通りオブジェクトに特定のインタフェースが
備わっていることを保証するためにある。
継承という親子関係で保証する仕組みよりも自由度が高い代わりに
実装は一切制約できない。
0068デフォルトの名無しさん
2009/06/10(水) 19:10:33小難しい酔っぱらったような文章ですなw
0069デフォルトの名無しさん
2009/06/10(水) 19:25:36ありがとうございました。
0070デフォルトの名無しさん
2009/06/10(水) 19:26:50マルチスレッドはあまり使う機会はないですよね?
0071デフォルトの名無しさん
2009/06/10(水) 19:29:530072デフォルトの名無しさん
2009/06/10(水) 19:31:43GUIやり出したら必須
0073デフォルトの名無しさん
2009/06/10(水) 19:39:19JBossって最近使われてますか?
007473
2009/06/10(水) 19:41:150075デフォルトの名無しさん
2009/06/10(水) 19:59:33軽いとか)である程度推測出来るのはこの業界の常識)
http://www.jbug.jp/cgi-bin/fswiki/wiki.cgi
(重く無いし、よく更新されてるって感じ)
0077デフォルトの名無しさん
2009/06/10(水) 20:42:49みたいな感じだったんだけど、今見たら全部忘れてる。
殆ど覚えてないなあ。頭のいい人は一回読んだら
自分のものになるんでしょうね。
とほほです。
0078デフォルトの名無しさん
2009/06/10(水) 20:55:100079デフォルトの名無しさん
2009/06/10(水) 21:50:24読むだけ → 何故か覚えられない
とりあえず自分で打ち込んでみる → 何故か覚えられる
ふしぎ!
0080デフォルトの名無しさん
2009/06/10(水) 23:04:36public static MBox mBox = new MBox(); //ココ
public static void main(String arg[]){
MRec rec = new MRec();
こういうとき、ココはいつ実行されるんでしょうか。
0081デフォルトの名無しさん
2009/06/10(水) 23:08:020082デフォルトの名無しさん
2009/06/10(水) 23:09:21こういうの初めて見たのですけど、これはどういう仕組みなのでしょうか。
キーワードを教えて頂けないでしょうか。
0083デフォルトの名無しさん
2009/06/10(水) 23:13:190084デフォルトの名無しさん
2009/06/10(水) 23:40:480085デフォルトの名無しさん
2009/06/10(水) 23:43:370086デフォルトの名無しさん
2009/06/11(木) 00:33:25実行というか、class MBoxのコンストラクタの呼び出しでいいよね
0087デフォルトの名無しさん
2009/06/11(木) 00:48:31日本語でおk
0088デフォルトの名無しさん
2009/06/11(木) 00:50:280089デフォルトの名無しさん
2009/06/11(木) 07:58:24はい次の質問どうぞ
0090デフォルトの名無しさん
2009/06/11(木) 08:44:580091デフォルトの名無しさん
2009/06/11(木) 10:34:24無理矢理使ったところで機能しないと思うぞ
009260
2009/06/11(木) 10:40:29なるほど、ありがとうございます。
で、JSPを作ってみたところ真っ白なページが表示。
jpgもバイナリだから同じ理屈だろと思って試したところ、それは正常に表示されました。
パケットキャプチャしてPDFを直接リクエストして開いた場合と比較してみたところ、
何故か指定してないcharsetが入っていました。
このcharsetはサーバで制御する以外回避することはできないものですか?
0093デフォルトの名無しさん
2009/06/11(木) 12:11:55沢山ありますが、通常、この組み合わせで使うのが通常みたいな、
パターンはあるのでしょうか。
0094デフォルトの名無しさん
2009/06/11(木) 12:25:09ない と言ったら貴方は次に何を聞く?
0095デフォルトの名無しさん
2009/06/11(木) 12:58:08後はBuffered○○ってのでいい
0096デフォルトの名無しさん
2009/06/11(木) 13:23:230097デフォルトの名無しさん
2009/06/11(木) 13:30:33バイトストリームはバイナリデータを扱うらしいのですけど
通常のテキストをバイトストリームで読み書きしてもいいのですか。
0098デフォルトの名無しさん
2009/06/11(木) 13:37:46寧ろそうしないと
Charsetなんかの問題が出る
0099デフォルトの名無しさん
2009/06/11(木) 14:16:350100デフォルトの名無しさん
2009/06/11(木) 15:06:560101デフォルトの名無しさん
2009/06/11(木) 15:07:170102デフォルトの名無しさん
2009/06/11(木) 17:15:13FileInputStream in = new FileInputStream(file);
for(int i=0; i<src.length; i++){
dst[i] = in.read();
}
fileは、8バイトのバイナリデータが入ってます。
それを1バイトづつreadして、dstに入れてるのですが、
for文の部分、これを拡張for文に変えることはできるんでしょうか。
できるとしたら、どのような記述になりますか?
0103デフォルトの名無しさん
2009/06/11(木) 17:35:320104デフォルトの名無しさん
2009/06/11(木) 17:45:380105デフォルトの名無しさん
2009/06/11(木) 17:53:06おれは自分でよく使うパターン用の
エセ正規表現ライブラリ作って使ってる。
0106デフォルトの名無しさん
2009/06/11(木) 18:44:08while (ch != 'Q' && ch != 'q') {
System.out.println("何か入力してください");
try {
ch = (char) System.in.read();
System.out.println("これは標準出力:" + ch);
これで文字一文字 k を入力したら3文字入力されているようにループ
するんですけど、何故なんでしょうか。
0107デフォルトの名無しさん
2009/06/11(木) 18:53:43k が三文字出力される事については解らないけど、
入力で良くあるのは改行コードなどを読み込むことかね。
0108デフォルトの名無しさん
2009/06/11(木) 18:56:03改行コードが入力されているから。WindowsプラットフォームならCRとLFの2文字分。
それとSystem.inを直接使用せずにInputStreamReaderでラップしてReaderとして扱うか、
Scannerでラップするかした方がいいと思う。
0109デフォルトの名無しさん
2009/06/11(木) 18:59:490110デフォルトの名無しさん
2009/06/11(木) 19:55:34無理
for (int i : dst) {
i = in.read();
}
こう書いても、dstには反映されない
0111デフォルトの名無しさん
2009/06/11(木) 19:55:350112デフォルトの名無しさん
2009/06/11(木) 19:57:27作っても継承できないからあまり役立たないんじゃないの?
どうせOOPとは名ばかりだけでstaticばっかりんなんでしょw
0113デフォルトの名無しさん
2009/06/11(木) 19:58:16コメント行である
「/* */」を空行に置換したいのですがひとつだけ例外があって
ヒント句である「/*+ */」だけは空行にしたくないのですが
下記の書き方であってますか?
いろいろテストした結果は問題ないのですが
よろしくお願いします。
間違っているなら正解をすみませんが教えてください。
str = str.replaceAll("/\\*[^\\+].*?\\*/", "");
0114デフォルトの名無しさん
2009/06/11(木) 20:16:45俺が低脳なだけか
0115デフォルトの名無しさん
2009/06/11(木) 20:27:180116デフォルトの名無しさん
2009/06/11(木) 21:19:09OracleのせいでJavaの有償化の流れか・・・
0117デフォルトの名無しさん
2009/06/11(木) 21:48:11意味分からん。6でいいだろ
0118デフォルトの名無しさん
2009/06/11(木) 21:55:08後でパスを変更するsetメソッドを普通は作るのか?
それとも、そんなメソッドを作らないで新しくオブジェクトを作り直させるのか?
0119デフォルトの名無しさん
2009/06/11(木) 21:58:44最短一致数量子 (Reluctant quantifiers)
ttp://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/util/regex/Pattern.html
0120デフォルトの名無しさん
2009/06/11(木) 22:21:20設計おかしくないか?
普通、実際に読み込むメソッドにFile,URL,InputStreemなんかを渡す。
まあクラス定義と使い方見てみんと分からんが。
0121デフォルトの名無しさん
2009/06/11(木) 22:33:07脳内乙
0122118
2009/06/11(木) 22:33:29今、思えばメソッドの引数&戻り値がStringだらけになっていたよ
0123デフォルトの名無しさん
2009/06/11(木) 22:59:34ん?120って何か変なこと書いてるか?
0124デフォルトの名無しさん
2009/06/11(木) 23:05:08setメソッドを作るってどういうこっちゃ。
is-aだかhas-aだかでReaderを拡張してる独自クラス使うってことか?
三行目は質問の意味すらわからない。
0125デフォルトの名無しさん
2009/06/11(木) 23:14:470126デフォルトの名無しさん
2009/06/11(木) 23:28:29読むべきファイルを変更するならば、新しいファイルを設定するようなセッターを作るのか?
それとも一旦作成したオブジェクトはコンストラクタで指定したファイルの読み込み専用とし、
別のファイルを読み込むならそれ用の新たにオブジェクトを生成するのか?
どちらが普通か(もしくはいいのか)?
と聞いているんだと思う。
それに対して>>120は、
コンストラクタで読み込む対象を設定するのでなく、
実際に読み込むメソッドでその対象をFileやURLやストリームで指定するのが俺的普通だ。
実際には>>118のクラスがどう使われているのか見てみないとどうするのがベターか分からないが。
と主張しているんだと思う。
0127デフォルトの名無しさん
2009/06/11(木) 23:31:04新たにそれ用の
0128デフォルトの名無しさん
2009/06/11(木) 23:31:30↑でサーバープログラムを立ち上げて、クライアントプログラムから文字を入力しても
log.txtに書き込みが行われないのですがどうしてでしょうか?
0129デフォルトの名無しさん
2009/06/11(木) 23:41:32どうでもいいけど、そのメソッドはどういうインターフェイス宣言になるん
設計云々じゃなかったの?
0130デフォルトの名無しさん
2009/06/11(木) 23:43:350131デフォルトの名無しさん
2009/06/11(木) 23:47:07実体はごねごねスクリプト
0132デフォルトの名無しさん
2009/06/11(木) 23:50:04脳内乙よりひでーなww
0133デフォルトの名無しさん
2009/06/11(木) 23:57:45それは>>118にそのクラスをどういう風に使っているのかを聞かないと分からない。
一気にファイルを読んでクラスの状態を変更したいのか(例えばProperties#loadみたいに)
それともInputStreamやReaderのように読み込む対象は固定で読み込むメソッドを頻繁に呼び出すものなのか。
0134デフォルトの名無しさん
2009/06/12(金) 00:02:07勝手な予測を立てても無駄すぎる
終了
0135デフォルトの名無しさん
2009/06/12(金) 00:06:18嘘でも情報を出したやつが勝ちだwww
情報を発信できない情弱は負け
0136デフォルトの名無しさん
2009/06/12(金) 00:18:43次の質問どうぞ
0137デフォルトの名無しさん
2009/06/12(金) 00:25:50何のためのデザインパターンとコードの再利用だか
逆に珍しいことしてる奴の方が数学の難問と同じく価値があると思kjdふぉあぷえおぷ$%%($
嘘でも情報だしたほうが勝ちとか鼻糞みたいなこといえない奴もいるし、っここはレベルも低いな
ここはアホすれだったか
0138デフォルトの名無しさん
2009/06/12(金) 00:28:24おまえみたいな2CH小僧がいるから糞スレ化するんだよな。
VIPで修行して出直してこい。
0140デフォルトの名無しさん
2009/06/12(金) 00:34:33とりあえず、スレッドの中でwriteするたびにflushしてみたらどーだろう。
強制終了した時ってfinally動いたっけ?試してみる気もしない。
(なんとなく、動いたら変かなーという脳内会議の結果)
0141デフォルトの名無しさん
2009/06/12(金) 01:15:00動かないときもある。
0142デフォルトの名無しさん
2009/06/12(金) 10:49:53Enterキーを押したら、
「10秒後にTabキーを自動で押し、
10秒後にEnterキーを自動で押す。」
というものなんですが…。ご教授ください。
0143デフォルトの名無しさん
2009/06/12(金) 10:52:050144142
2009/06/12(金) 11:10:59昔メモ帳にプログラムを書いている人を見たもので、
C言語?をメモ帳に書くと、メモ帳がプログラムに
変身するのだと思っていました。
そもそも、プログラムで、
キーボードのボタンを押すことなどできないのでしょうか?
…自動でエンターとかタブとかを押すことができれば、
ワンタッチで複数のものがDLできるのではないかと
考えていました。
0145デフォルトの名無しさん
2009/06/12(金) 11:31:57C言語でkeybd_event関数を呼べば
0146デフォルトの名無しさん
2009/06/12(金) 11:32:53JavaでHello World書ける様になってからこい
そこまでは自力でやれ
0147デフォルトの名無しさん
2009/06/12(金) 11:38:35メモ帳で次の文字列を打ち込む
<html>
<script>
window.alert("Hello Java world");
</script>
</html>
これを「ファイル」→「名前を付けて保存」
で出てくるウィンドウボックス(ダイアログ)で「デスクトップ」フォルダー
を選びhoge.htmという名前を入力し保存ボタンを押す。
デスクトップにhoge.htmというアイコンが出来るからそれをクリックする
とHello java worldという文字列だけが出たウィンドウが開くぞ。
ただJavaまでの距離は相当あるがまぁこれが出来ればあと1ヶ月先には
Javaでプログラムがちょっとした書けてる筈
0148デフォルトの名無しさん
2009/06/12(金) 12:04:22105じゃないけど、俺もURL抽出で似たようなことやってる。
正規表現で複雑なクエリパラメータを含むURLを
完璧に抽出するのって意外と難しい。
RFCで許可されているURL文字列を抽出する
メソッド組んでるよ。速いし。
汎用性と柔軟性を追求するなら正規表現ライブラリで
正解なんだろうけどな。
0149デフォルトの名無しさん
2009/06/12(金) 13:39:39秀丸のマクロでも作ってみたら?
プログラムとは言えない事も無いけど似たようなものではある
0151デフォルトの名無しさん
2009/06/12(金) 14:30:25こういうように繋げて書いた場合、closeはどう書けばいいのでしょうか。
0152デフォルトの名無しさん
2009/06/12(金) 14:33:23System.out.close();
0153デフォルトの名無しさん
2009/06/12(金) 14:40:55一番最初のFileOutputStreamの参照変数に対してcloseしています。
繋げて書いた場合はPrintStreamのメソッドのcloseを使ってOKと
いうことは、closeは、どの段階のものでもいいのでしょうか。
それとも最初か最後のどれとか決まっているのでしょうか。
0154デフォルトの名無しさん
2009/06/12(金) 14:53:42どのcloseを呼び出すのかは、使用するライブラリの実装次第。
java.io.Closeable#close() では、
> このストリームを閉じ、関連付けられているすべてのシステムリソースを解放します。
とあり、一番外側を close すれば、ラップされていても全て解放する仕様、と読み取れる。
0155デフォルトの名無しさん
2009/06/12(金) 15:02:370156デフォルトの名無しさん
2009/06/12(金) 15:29:240158デフォルトの名無しさん
2009/06/12(金) 18:03:36ニート死ね
0159デフォルトの名無しさん
2009/06/12(金) 20:06:55・・・
static class MyFilter implements FilenameFilter {
public boolean accept(File dir, String name) {
return name.endsWith(".TXT") || name.endsWith(".txt");} }
見たこともない仕組みが登場しました。
acceptメソッドとか記述もしてないのに、これでちゃんと動くのですけど
これは特殊な仕組みなのでしょうか。
0160デフォルトの名無しさん
2009/06/12(金) 20:19:49俺にはacceptメソッドを記述しているように見える罠。
0161デフォルトの名無しさん
2009/06/12(金) 20:23:06使う側の、String filelist[] = cdirectory.list( new MyFilter() ); で
呼ばれてないんですよね。読んでいるところが見当たらないんです。
0162デフォルトの名無しさん
2009/06/12(金) 20:26:16cdirectory.list()メソッドの中で呼ばれてると思うが
0163デフォルトの名無しさん
2009/06/12(金) 20:36:36{
public static void main(String args[])
{
try{
int test[];
test = new int[5];
System.out.println("test[10]に値を代入します。");
test[5]=【?】;
System.out.println("test[10]に80を代入します。");
}
catch(ArrayIndexOutOfBoundsException e){
System.out.println("配列の要素を超えています。");
System.out.println( e +"という例外が発生しました。");
}
finally{
System.out.println("終わりました。");
}
System.out.println("無事終了しました。");
}
}
例外が出ないような値を【?】に入れたいんだけど5以上にしても5以下にしても例外に当てはまってしまう。
いったい何を入れればいいのかな?それともどこか変えなければいけないのかな?
0164デフォルトの名無しさん
2009/06/12(金) 20:46:33acceptメソッドは、いつ呼ばれるんでしょうか
0165デフォルトの名無しさん
2009/06/12(金) 20:51:050166デフォルトの名無しさん
2009/06/12(金) 20:55:49書いてることがよく分からんが、というか配列を勘違いしてるっぽいが
test = new int[5]; でtest[0]〜test[4] までを確保しているので
test[5] は存在しない。
よって、【?】にどんな値を入れようとしてもエラーになる。
>>164
内部で自動的に呼ばれる
0167デフォルトの名無しさん
2009/06/12(金) 21:01:12そうなりますと、listメソッドの中で記述されているということですね。
こういうのが沢山あると、使うほうはわかりにくいですねえ。
出てくるたびに考え込まないといけないですね。
ありがとうございました。
0168デフォルトの名無しさん
2009/06/12(金) 21:03:56基本的なことを忘れてました。
ありがとう
0169デフォルトの名無しさん
2009/06/12(金) 21:27:38考え込みません。
使い方は APIdoc に書いてある。
それが何を意味するのか、を考え込むかもしれないが。
0170デフォルトの名無しさん
2009/06/12(金) 21:55:180171デフォルトの名無しさん
2009/06/12(金) 22:08:11知識だけじゃなくそれなりの「教養」も必要かもな
0172デフォルトの名無しさん
2009/06/12(金) 22:11:010173デフォルトの名無しさん
2009/06/12(金) 22:22:30RegexpとかOROとか諸々の正規表現ルーチンを開発する楽しみを残すためです。
0174デフォルトの名無しさん
2009/06/12(金) 22:26:170175デフォルトの名無しさん
2009/06/12(金) 22:43:48acceptメソッドに対するレスだろう。
0176デフォルトの名無しさん
2009/06/12(金) 23:15:030177デフォルトの名無しさん
2009/06/13(土) 00:28:54むー、純粋な関数オブジェクトと誤解されるか。そこまで意識してなかった。
Javaで関数オブジェクトって厳密には実現できなくて、同様の手段としてストラテジ
パターン使ってる別物か。
import java.io.*;
public class Main {
public static void main(String[] args) {
File cdirectory = new File("c:\\usr");
String filelist[] = cdirectory.list(new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.endsWith(".TXT") || name.endsWith(".txt");
}
});
for (String name : filelist) {
System.out.println(name);
}
}
}
0178デフォルトの名無しさん
2009/06/13(土) 00:47:35最近さ、ブログでもデザインパターンの用語ばかり散りばめて自分によってる奴多いんだよね・・・
0179デフォルトの名無しさん
2009/06/13(土) 10:21:120180デフォルトの名無しさん
2009/06/13(土) 10:47:040181デフォルトの名無しさん
2009/06/13(土) 11:32:04実装次第。toLowercase()して比較。前スレの914あたりからの話を参照。
0182デフォルトの名無しさん
2009/06/13(土) 17:54:58なんか設計というかファイルとデレクトリで使うには適してないと思うですけどどうですか?
ファイルの方は抽象クラスで宣言されてるメソッドを使わないから、例外発生とかですよね。せんせ!
0183デフォルトの名無しさん
2009/06/13(土) 18:00:36引数のチェックなんですけど、"/?" とは何を入力したときなんでしょうか。
0184デフォルトの名無しさん
2009/06/13(土) 18:05:370185デフォルトの名無しさん
2009/06/13(土) 18:05:42dir /?
みたいな
0186デフォルトの名無しさん
2009/06/13(土) 18:07:510187デフォルトの名無しさん
2009/06/13(土) 18:08:570188デフォルトの名無しさん
2009/06/13(土) 18:11:12↑じゃ↓が偽になって弾かれるからだろ
args.length != 1
0189デフォルトの名無しさん
2009/06/13(土) 18:14:20つーか、またStringで==とかの論争が始まるのか、勘弁してくれ
0190デフォルトの名無しさん
2009/06/13(土) 18:16:350191デフォルトの名無しさん
2009/06/13(土) 18:19:120192デフォルトの名無しさん
2009/06/13(土) 18:21:080193デフォルトの名無しさん
2009/06/13(土) 18:28:070194デフォルトの名無しさん
2009/06/13(土) 18:33:380195デフォルトの名無しさん
2009/06/13(土) 18:37:04190に変更したら、引数に/?を指定してチェックに引っ掛かりました。
よく考えたらStringは==駄目でしたね。本の通り打ったんですけど、
本が間違えているんですね。それから、/?を引数に入れることに
どんな意味があるんでしょうか。
0196デフォルトの名無しさん
2009/06/13(土) 18:37:38>本の通り打ったんですけど
出版社とタイトル、ページ数を教えて欲しい
0197デフォルトの名無しさん
2009/06/13(土) 18:43:41あと版数な
0198デフォルトの名無しさん
2009/06/13(土) 18:46:46System.out.print(convHex((n & 0xf0) >> 4)); //ココ1
System.out.print(convHex(n & 0x0f)); } //ココ2
それから、これはヘキサダンプ作成のコードなんですけど、
文字を4ビットずつ表示してると思うんですけど、
ココ1ではn & 0xf0をしなくても左4ビットに0が埋まるのではないかと
思うんですけど。どうなんでしょうか。
それから本のタイトル等は差し控えたいと思います。
0199デフォルトの名無しさん
2009/06/13(土) 18:49:420200デフォルトの名無しさん
2009/06/13(土) 18:51:38情報出さない連中がまともな回答を期待するのが間違い
0201デフォルトの名無しさん
2009/06/13(土) 18:52:50それを突っつかれたくないから「本の通りに書きました><」とか言ってんだろ
0202デフォルトの名無しさん
2009/06/13(土) 19:22:57本当のjava初心者が質問しづらい空気だから、他スレでやって欲しいわ
0203デフォルトの名無しさん
2009/06/13(土) 19:25:050204デフォルトの名無しさん
2009/06/13(土) 19:35:29【初心者】【歓迎】と書いてあり、初心者が来ること自体は何の問題も無いが、
別に初心者用のスレというわけでもない
初心者専用ならこっちに行ったらどうだろう
Javaやらないか(超初心者向け)
ttp://pc12.2ch.net/test/read.cgi/tech/1228452306/
0205デフォルトの名無しさん
2009/06/13(土) 19:36:200206デフォルトの名無しさん
2009/06/13(土) 20:20:50エスパーしなければならない点
1. bistreamの型
2. nの型
3. ENDの値
4. convHex()の引数の型
・・・情報出してると言えないよね、その聞き方じゃ?
1. BufferdInputStreamとエスパー
2. 1からint
3. 1から-1
4. キャストしていないから、nの型からint
とエスパーすると、BufferdInputStream#read() が返すのはバイト値か-1だけ
だから必要は無いね。
でもSystem.out.print(convHex(n & 0x0f));の行と並べた時に意図が明白になる
から意味はある。個人的シュミだと
System.out.print(convHex((n>>>4) & 0x0f));
System.out.print(convHex((n>>>0) & 0x0f));
とするかな。そんなことまで聞いてない?スマンな、エスパーだからな。
>>202
人のレスに一々ケチつけてるヒマがあるなら、キミが答えてやればいいじゃないか。
それで解決。
0207デフォルトの名無しさん
2009/06/13(土) 20:29:38設計(例題)がおかしいんですよ!?
0208デフォルトの名無しさん
2009/06/13(土) 20:34:050209デフォルトの名無しさん
2009/06/13(土) 20:35:130210デフォルトの名無しさん
2009/06/13(土) 20:39:190211デフォルトの名無しさん
2009/06/13(土) 20:40:10>でもSystem.out.print(convHex(n & 0x0f));の行と並べた時に
>意図が明白になるから意味はある。
すごくよく分かりました。質問ももっと情報を書かないといけないことも
分かりました。ありがとうございました。
0212デフォルトの名無しさん
2009/06/13(土) 20:40:400213デフォルトの名無しさん
2009/06/13(土) 22:10:37See JLS 5.6.1
0214デフォルトの名無しさん
2009/06/13(土) 22:17:28一番簡単な方法はなんでしょうか?
こんな感じです。
0.16 → "0.2" (四捨五入)
1 → "1.0"(小数にならない数も.0をつける)
0215デフォルトの名無しさん
2009/06/13(土) 22:25:500216214
2009/06/13(土) 22:34:09ググったらDecimalFormatというのがありました。
DecimalFormat pattern = new DecimalFormat("0.0");
String str = pattern.format(0.51);
0217デフォルトの名無しさん
2009/06/13(土) 23:42:030218デフォルトの名無しさん
2009/06/14(日) 04:16:57インスタンスを作るにはどうすればいいですか?
例えば、Stringに追加メソッドが欲しいと思い、
class StringEx extends java.lang.String {
public void addABC() {
this += "ABC";
}
}
こういうクラスを作った場合、
StringExのインスタンスはどうやって作ればいいのでしょうか。
0219デフォルトの名無しさん
2009/06/14(日) 06:27:39String は final宣言されてるから継承できないよ
0220デフォルトの名無しさん
2009/06/14(日) 09:33:21過去問を見ていると分からない記述があったので質問させて下さい。
下記mainクラス内の宣言部に記載されている、
「int a = 0x0f , b = 0x0f」の初期値"0x0f"が何を指しているのか分かりません。
�@と�Aでは15が出力され、�Bでは31が出力されました。
インクリメントされたaをxに代入しているにも関わらず、
なぜ�Aでも15が出力されるのですか?
どなたか教えて下さい。
class Increment{
public static void main(String args[]){
int a = 0x0f, b = 0x0f ,x = 10, y = 10;
System.out.println(a); //�@
x = a++;
System.out.println(x); //�A
y = x + ++b;
System.out.println(y); //�B
}
}
0221デフォルトの名無しさん
2009/06/14(日) 09:43:47ヒント
インクリメントにはa++と++aがある
0222デフォルトの名無しさん
2009/06/14(日) 10:24:28ヒント 式の評価順序
0223デフォルトの名無しさん
2009/06/14(日) 10:43:46++に関しては15.14.2ならびに15.15.1。
評価順序に関しては15.7全般。
http://java.sun.com/docs/books/jls/third_edition/html/j3TOC.html
0224デフォルトの名無しさん
2009/06/14(日) 11:01:310225デフォルトの名無しさん
2009/06/14(日) 11:28:27どうすればいいの?
0226デフォルトの名無しさん
2009/06/14(日) 11:37:24public synchronized void buy() { 〜}
public synchronized void seisan() { 〜}
class Ko1 extends Thread {
void buy() //ココ
void seisan()
class Ko2 extends Thread {
void buy() //コレ
このような感じの場合に、synchronizedを指定すれば
同期が取れるとあるのですけど、synchronizedなメソッドを
呼び出して終わればロックは自動解除されるとあるので、
ココが終わった瞬間に、コレが先に動いて同期が
取れなくなる場合があるように思うんですけど、
どうなのでしょうか。
0227デフォルトの名無しさん
2009/06/14(日) 11:37:59Matcherのgroupでいい
0228デフォルトの名無しさん
2009/06/14(日) 11:44:37何を守って同期したいのか不明。
Kyoutuu は可哀想な子
0229デフォルトの名無しさん
2009/06/14(日) 11:45:490x0fは0xが16進ですよを表して、一文字(8バイト)を表して、
ofは4ビットずつを、前半4ビットが0000、後半4ビットが1111で、
15になります。x = a++; は、x = a; a = a + 1 と同じ意味です。
0230デフォルトの名無しさん
2009/06/14(日) 11:47:51buy()は金額加算です。同期とれませんよね?
0231デフォルトの名無しさん
2009/06/14(日) 11:52:13synchronized void buy() { /* hoge */ } は
void buy() { synchronized(this) { /* hoge */ } } と同じ。
第二版 8.4.3.6 synchronizedメソッド
ttp://www.y-adagio.com/public/standards/tr_javalang2/classes.doc.html#260369
0232デフォルトの名無しさん
2009/06/14(日) 11:55:22特に同期を取る必要の無いものだろうから、別に問題ないだろ。
0233デフォルトの名無しさん
2009/06/14(日) 12:23:49Pattern pat = Pattern.compile("a.*?b");
Matcher mat = pat.matcher("abaabbcbacb");
while (mat.find()) {
System.out.print(mat.start());
System.out.print(", ");
System.out.println(mat.end());
System.out.println(mat.group());
}
0234デフォルトの名無しさん
2009/06/14(日) 13:09:00ありがとうございました。
0236220
2009/06/14(日) 16:44:44>>222
返信ありがとうございます。
a++は処理が行われた後にインクリメントする、
++aは処理前にインクリメントするという認識でした。
この認識が既に誤っているのでしょうか?
なぜ、�Aで出力結果が16にならないのかが分からないのです。
>>223
返信ありがとうございます。
リンクを貼っていただいたサイトを拝見しました。
16進数については勉強していたのですが、
お恥かしいことに0x0から始まる形式を見たことが無く、16進数と分かりませんでした。
大変勉強になりました。
>>224
上記の通り、私の勉強が足りませんでした。
試験まであと2週間しかないのですが、精一杯勉強して頑張ってみます。
返信ありがとうございました。
0237デフォルトの名無しさん
2009/06/14(日) 16:45:350238220
2009/06/14(日) 16:55:28解説ありがとうございます。
0xという表記が16進数を意味しているんですね。
返信を下さった皆様、ありがとうございました。
私のバカな勘違いで、�Aでaの中身を出力しているつもりで結果を見ていました。
本当に申し訳ありません。0x…の記述については大変勉強になりました。
お世話になりました。
0239デフォルトの名無しさん
2009/06/14(日) 16:58:03否。
java-APIソースでjava.lang.reflectをgrepしてみるといい。
かなり積極的に利用されてる。
0240デフォルトの名無しさん
2009/06/14(日) 17:27:21>�Aで出力結果が16にならないのかが分からないのです。
int a = 0x0f // ここでaには15が格納されます
x = a++; // ここでxにaの値(15)が格納されて aに1が+されます。
System.out.println(x); //�A つまりここの段階でa=16 x=15となります。
0241デフォルトの名無しさん
2009/06/14(日) 17:32:36ありがとうございます
0243デフォルトの名無しさん
2009/06/14(日) 17:53:16パフォーマンスに激しく影響するし、
バグを実行時まで遅延させることになるから
積極的には使わない方がいいよ。
0244デフォルトの名無しさん
2009/06/14(日) 18:03:23リスクを判ってるなら無理して使わない理由は特に無い。
0245デフォルトの名無しさん
2009/06/14(日) 18:34:40かといって、うかつに除外しちゃうと、動いている途中に大コケ。
これってもう、諦めて全部配備するしかない?
0246デフォルトの名無しさん
2009/06/15(月) 02:03:330247デフォルトの名無しさん
2009/06/15(月) 08:18:32依存関係も最近はマシになっている
で数十MBを節約しなきゃいけないってどんな過酷な環境なんだw
0248デフォルトの名無しさん
2009/06/15(月) 08:27:57普通に考えて要らないものを入れるような設定書くかな。
というわけで基本は全部入れる。
もちろん例外も有るけど、そこを考えて判断するのは基盤部分に携わる専門技術者の仕事だね。
自分が一般的な開発者の役割なら用意されたものを全部入れるべき。
0249デフォルトの名無しさん
2009/06/15(月) 13:20:31というのがあるんですけど全然意味がわかりません。o1,o2には何が
渡っているんでしょうか。
String animal[] = {"lion","sai","buta","hyo","kirin","chiita"};
Arrays.sort(animal, new Mysort());
class Mysort implements Comparator<Object> {
public int compare(Object o1, Object o2) {
return -((String)o1).compareTo((String)o2);
}
}
これで降順になるらしいのですが、何と何を比較しているのでしょうか。
解説していただけないでしょうか。
0250デフォルトの名無しさん
2009/06/15(月) 14:15:34System.out.println("o1 : "+(string)o1)
System.out.println("o2 : "+(string)o2)
0251デフォルトの名無しさん
2009/06/15(月) 14:48:02JFrameのようにsetVisibleというメソッドはなかったし
setOpaqueだと背景色を透明にするだけで駄目でした
0252デフォルトの名無しさん
2009/06/15(月) 14:55:00sortメソッドの中でオブジェクトを参照して比較してるんですね。
returnがマイナスならそのまま、プラスなら左右入れ替えているんですね。
よくわかりました。ありがとうございました。5時間くらい悩んでました。
0253デフォルトの名無しさん
2009/06/15(月) 15:13:35これを2グラムモデルでの計算にするためにはどのように変更したらよいでしょうか?
public class Entrp{
public static void main(String args[])throws IOException{
int byteCode;
double p;
int byteFrequency[] = new int[256]; //バイト値ごとの個数 fount.printl
int i;
String virusFileName;
/* ウイルスのファイル名が書いてあるリストをオープン */
BufferedReader fin = new BufferedReader(new FileReader("Virus_list"));
/* ウイルスの出現頻度のファイルを生成 */
PrintWriter fount = new PrintWriter(new BufferedWriter(new FileWriter("conclusion.F")));
while(null!=(virusFileName=fin.readLine())){
double e=0;
/* ウイルスのバイナリファイルをオープン */
DataInputStream bin = new DataInputStream(new BufferedInputStream(new FileInputStream(virusFileName)));
File virusFile = new File(virusFileName);
matrixZeroReturn(byteFrequency,256); //バイト値個数の初期化
getByteFrequency(byteFrequency,bin);//ファイルのバイト値のカウントを行なう
0254デフォルトの名無しさん
2009/06/15(月) 15:15:31for(i=0;i<=255;i++){
p=(byteFrequency[i]/(double)virusFile.length());
e += -(p*(Math.log(p)/Math.log(2)));
}
fount.println(virusFileName+"の平均情報量は "+e+"です。");
bin.close();
}
fount.close();
fin.close();
}
public static void getByteFrequency(int array[], DataInputStream bin)throws IOException{
int byteValue;
while(-1!=(byteValue=bin.read())){
array[byteValue]++;
}
}
public static void matrixZeroReturn(int array[],int matrixNum){
int i;
for(i=0;i<matrixNum;i++)
array[i]=0;
}
}
0255デフォルトの名無しさん
2009/06/15(月) 15:35:21アプレットサーバシステムを使うべし
ただし、あんまり嗅ぎまわると訴えられるから注意した方がいいよ
0256デフォルトの名無しさん
2009/06/15(月) 17:29:39CardLayout使え。
>>255
アッパッパの変なのおしえんじゃねえよ。
0257デフォルトの名無しさん
2009/06/15(月) 18:31:31Comparatorとかを使わずに、Arrays.sortのように降順ソートを
行う方法はないのでしょうか。
0258デフォルトの名無しさん
2009/06/15(月) 18:41:27昇順ソートしたあと for で移すとか・・・
TheClass[] dst = new TheClass[src.length];
for (int index=0; index<src.length; index++) {
dst[src.length - 1 + index] = src[index];
}
0259デフォルトの名無しさん
2009/06/15(月) 19:00:45もうどうでもいいけどJPanelってsetVisibleあるよね・・・
0260デフォルトの名無しさん
2009/06/15(月) 19:16:38「codeなにがし」みたいな感じで、日本語コミュニティーのサイト知りませんか?
0261デフォルトの名無しさん
2009/06/15(月) 19:22:20ttp://appletserver.com/
0262デフォルトの名無しさん
2009/06/15(月) 19:56:00ありがとうございました。
0263デフォルトの名無しさん
2009/06/15(月) 21:01:34他にも<T>が付いているのもあります。
このような、TやEというアルファベットの違いで、
何かのグループ分けとかあるのでしょうか。
0264デフォルトの名無しさん
2009/06/15(月) 21:03:59まずはジェネリックスについて知るところを述べて欲しい
0265デフォルトの名無しさん
2009/06/15(月) 21:06:370266デフォルトの名無しさん
2009/06/15(月) 21:11:03Arrays.sortをした上で、末尾から取っていきゃいいんじゃ?
Collections.sort(List<T>, Comparator<? super c>)みたいに、
Collections.reverseOrderとかで手軽にできればいいんだけどね
0267デフォルトの名無しさん
2009/06/15(月) 21:27:04(力強く) サーセン!
>>247
なにぶん、4年前のノートでディスクもメモリもCPUも;;
(開発用じゃなくて報告書などの事務用)
>>248
要らない物がわからない・・・_| ̄|○
Dolteng使ってプロジェクト立ててゴチャゴチャやってるうちに・・・初心者なもんで。
Maven Additional Plugin のせいもあるかも。
・・・なんのカスタマイズもしていないせいか、junitまでlibに配置されてるし・・・
で、その上で、何かコツってあるのかな?と。
0268デフォルトの名無しさん
2009/06/15(月) 21:35:02なんでStringだけはnewしなくていいわけ?
0269デフォルトの名無しさん
2009/06/15(月) 21:55:11>5 でも触れられているけど、言語規定でそーなってる。
3.10.5 文字列リテラル
4.3.3 クラスString
0270デフォルトの名無しさん
2009/06/15(月) 22:02:53「めんどいからそうした」
が限りなく的を射ている。
0271デフォルトの名無しさん
2009/06/15(月) 22:13:27ありがとう
>>270の「めんどいからそうした」
は全然知らんかった
0272デフォルトの名無しさん
2009/06/15(月) 23:20:50Integer[] testobj2 = {0,1,250,-40,600,200,100,500,300,400};
Arrays.sort(testobj2, Collections.reverseOrder());
これで出来ました。ありがとうございました。
0273デフォルトの名無しさん
2009/06/15(月) 23:22:210274デフォルトの名無しさん
2009/06/15(月) 23:24:370275デフォルトの名無しさん
2009/06/15(月) 23:27:00>基本型の場合
と言っておきながら、ラッパークラスはありだとか
質問者に対して鬼畜すぎるだろjk
0276デフォルトの名無しさん
2009/06/15(月) 23:28:380277デフォルトの名無しさん
2009/06/15(月) 23:29:34そうでした。ごめんなさい。気をつけます。
0278デフォルトの名無しさん
2009/06/16(火) 00:25:010279デフォルトの名無しさん
2009/06/16(火) 00:26:55ヤバ過ぎ
0280デフォルトの名無しさん
2009/06/16(火) 01:27:50全角かどうかで判定すると他言語が大量に含まれてしまって困っています
0281デフォルトの名無しさん
2009/06/16(火) 01:34:59java.lang.Character.UnicodeBlockでだいたいカバーできるんじゃない?
0282デフォルトの名無しさん
2009/06/16(火) 01:49:42こっちのほうが使いやすいかも。
0283デフォルトの名無しさん
2009/06/16(火) 01:52:38どうやって使うんだ、これ。
0284デフォルトの名無しさん
2009/06/16(火) 03:20:480285デフォルトの名無しさん
2009/06/16(火) 03:23:340286デフォルトの名無しさん
2009/06/16(火) 06:14:29「日本語かそうでないか」の詳細がわからんのでなんとも。
ちなみに、JIS X 0208 に含まれてる文字かを調べるなら
java.nio.charset.Charset.forName("JIS0208").newEncoder().canEncode("日本語")
なんかでも可。"JIS0208"の部分は実装依存だけど。
あと、ひらがなカタカナはともかくとして
CJK Unified Ideographsは日中韓で共有してるので
これらを使ってる場合は文字の種類からだけ
日本語かどうかを判別するのは面倒かも。
0287デフォルトの名無しさん
2009/06/16(火) 06:19:32java.awt.im.InputContext#setCharacterSubsets(Character.Subset[] subsets) の引数に
0288デフォルトの名無しさん
2009/06/16(火) 07:25:46LLで書くと↓のような感じなのですが。。。
[
[1, "任天堂"],
[2, "ソニー"]
]
0289デフォルトの名無しさん
2009/06/16(火) 07:58:31コンパイル時型情報なしでいいなら
new Object[][]{ { 1, "任天堂" }, { 2, "ソニー" } }
0290デフォルトの名無しさん
2009/06/16(火) 09:51:34正解が知りたいだけなら、丸投げスレのほうが良いぞ。
http://pc12.2ch.net/test/read.cgi/tech/1232627790/
★★ Java の宿題ここで答えます Part 67 ★★
超初心者スレもある。
http://pc12.2ch.net/test/read.cgi/tech/1228452306/
Javaやらないか(超初心者向け)
0291デフォルトの名無しさん
2009/06/16(火) 10:29:10整数かどうか判別するにはどうしたらいいでしょうか?
0292デフォルトの名無しさん
2009/06/16(火) 10:52:49残念ですが、代入した時点でdoubleです
0293デフォルトの名無しさん
2009/06/16(火) 11:04:18端数部分があるかどうかは、
try {
new BigDecimal(doubleValue).intValueExact(); // short, longもある
// 端数なし
} catch (ArithmeticException e) {
// 端数あり、またはintの範囲外
}
0294デフォルトの名無しさん
2009/06/16(火) 13:03:34ありがとうございます
調べてみたところいいサンプルがありました。
RADKRAFT: Recognize Zenkaku/Hankaku Characters
http://kamakura.cool.ne.jp/oppama/jaco/zenhan.html
>>282,287
InputSubsetについても調べて検討してみようと思います
>>286
それだとロシア語などもtureとなってしまうようです
0295デフォルトの名無しさん
2009/06/16(火) 14:17:46ただの条件判定に try-catch 使うなよ
0296デフォルトの名無しさん
2009/06/16(火) 14:21:33ArrayListの要素を変更しても元の配列の要素は変更されないのですか。
0297デフォルトの名無しさん
2009/06/16(火) 14:31:480298デフォルトの名無しさん
2009/06/16(火) 14:34:08クラスじゃありません
0299デフォルトの名無しさん
2009/06/16(火) 14:43:590300デフォルトの名無しさん
2009/06/16(火) 14:44:01int化して引き算して差を見るというのは
いろいろアレなのでおいとくとして
Double.doubleToLongBitsでビットパターンに変換して
ごにょごにょすればいいんじゃない?
0301デフォルトの名無しさん
2009/06/16(火) 17:12:35どなたかご教示お願い致します
【ip.javaの中身】
InetAddress iaddress = InetAddress.getByName(address);
return iaddress.getHostName();
【htmlの中身】
<html>
<head>
<title>test ip</title>
</head>
<body>
<applet code="ip" width=100 height=100>
</applet>
</body>
</html>
0302デフォルトの名無しさん
2009/06/16(火) 17:28:06どこまで本気なのか計りかねるが、
ソースの一部を表示してるんだよな???
あと、appletタグは間違ってるだろ。
0303デフォルトの名無しさん
2009/06/16(火) 17:42:120304デフォルトの名無しさん
2009/06/16(火) 17:45:580305デフォルトの名無しさん
2009/06/16(火) 18:19:490306デフォルトの名無しさん
2009/06/16(火) 19:40:030307デフォルトの名無しさん
2009/06/16(火) 19:57:01レンダラーをセットするときに
table.setDefaultRenderer(Object.class, new MyCellRenderer());
だとレンダラーが適応されないんだけど、何でだろう?
table.setDefaultRenderer(Integer.class, new MyCellRenderer());
だと、ちゃんと適応される
確かにテーブルモデルにInteger型の配列を設定しているけれど
そのスーパークラスであるObjectでも処理されるんじゃないの?
検索してみても
table.setDefaultRenderer(Object.class, new MyCellRenderer());
みたいなサンプルは多いんだけど、これだと自前のレンダラーが
呼ばれないんだよなぁ、何でだろう
0308デフォルトの名無しさん
2009/06/16(火) 21:17:26Integer にはもう NumberRenderer というデフォルトレンダラが設定されてる。
JTable jt = new JTable();
jt.setDefaultRenderer(Object.class, null);
TableCellRenderer tcr = jt.getDefaultRenderer(Integer.class);
System.out.print(tcr.toString());
0309デフォルトの名無しさん
2009/06/16(火) 21:35:10createDefaultRenderers() で Object, Number, Float, Double, Date, Icon, ImageIcon, Boolean が定義済み。
0310デフォルトの名無しさん
2009/06/16(火) 22:01:47オリジナルのエラーメッセージを表示させて終了 というモノしかありません。
例えば、5桁の整数のみ入力可能にして、それ以外だとエラーメッセージを表示させた後に再入力を促す
などには出来ないのでしょうか?
0311デフォルトの名無しさん
2009/06/16(火) 22:12:33int x = 0;
// 入力処理
// 数値へパース
// 5桁ならループを出る
if((9999<x)&&(x<100000)){
break;
}
// エラー表示
}
これでいいじゃん。
例外出そうなのはパースくらい。
0313デフォルトの名無しさん
2009/06/16(火) 22:51:49条件があるなら先に全部出さなきゃ。
0314デフォルトの名無しさん
2009/06/16(火) 22:56:530315デフォルトの名無しさん
2009/06/16(火) 23:05:21コンソールかGUIすら書いてないし。
0316デフォルトの名無しさん
2009/06/16(火) 23:46:310317デフォルトの名無しさん
2009/06/16(火) 23:54:22俺に命令するな
0318デフォルトの名無しさん
2009/06/17(水) 00:15:410319デフォルトの名無しさん
2009/06/17(水) 01:34:47新たな息吹を感じるゼ
0320デフォルトの名無しさん
2009/06/17(水) 01:37:28それにGUIでも311で十分だと思うんだが
入力処理んとこはJOptionPane#showInputDialogとかつかって
エラーはshowConfirmDialogでいいんじゃないの?
まあ確かにパースでエラーでたら例外必要かもしれないけど
0321デフォルトの名無しさん
2009/06/17(水) 02:08:110322デフォルトの名無しさん
2009/06/17(水) 05:19:370323デフォルトの名無しさん
2009/06/17(水) 09:24:44この2つは何か使い分けのようなものがあるんでしょうか。今のところすべてtry-catchで囲んでますが、throws使う利点が何かあるんですか?
0324デフォルトの名無しさん
2009/06/17(水) 09:39:43まったく違うだろ。
すべてtry-catchってmainの中に全部書いているようなコードなんじゃね?
クラスを使ってプログラムが大きくなってくればtry-catchはまとめて行うべきって解るさ
0325デフォルトの名無しさん
2009/06/17(水) 09:52:36トランプゲーム作ることになったんだけど…
いざ参考文献読んでみたらトランプゲームの場を
用意する方法だけで、肝心の思考ルーチン作成方法が載ってない('A`)
エカルテなんてマイナーゲーム知らねっつの
教えてちゃんなのは重々承知だ
おまいらぼすけての…
0326デフォルトの名無しさん
2009/06/17(水) 10:27:33今すぐ学校の図書館へ行って関連書を探すんだ。
勿論、居るなら教授に聞きましょう。
0327デフォルトの名無しさん
2009/06/17(水) 10:31:19言語に関わらないアルゴリズムの話だからスレ違いだな
アルゴリズム総合スレ in ム板
http://pc12.2ch.net/test/read.cgi/tech/1217773415/l50
0328デフォルトの名無しさん
2009/06/17(水) 10:51:27実は底辺の通信制だから、気軽に学校まで足運べないんだ
でも、確かに関連図書探すべきだよな
逝ってくるよ
>>327
スレ違いだったのね
誘導サンクスです
逝ってきます
0329デフォルトの名無しさん
2009/06/17(水) 12:10:26ここの回答者のレベルがしれてるwwwwwwwww
0330デフォルトの名無しさん
2009/06/17(水) 13:03:160331デフォルトの名無しさん
2009/06/17(水) 13:05:50自己紹介乙
0332デフォルトの名無しさん
2009/06/17(水) 13:59:130333デフォルトの名無しさん
2009/06/17(水) 14:08:02他にも、何々フレームワークとかいうのがあるんでしょうか。
0334デフォルトの名無しさん
2009/06/17(水) 14:11:50あります。
0335デフォルトの名無しさん
2009/06/17(水) 14:18:36あるなら教えて貰えませんか?
そんな答えは聞いてないです
0336デフォルトの名無しさん
2009/06/17(水) 14:19:33まるで先週のようだ。
0337デフォルトの名無しさん
2009/06/17(水) 14:22:51口だけかw
脳内乙よりひでーなww
135 名前:デフォルトの名無しさん[sage] 投稿日:2009/06/12(金) 00:06:18
逆だろw
嘘でも情報を出したやつが勝ちだwww
情報を発信できない情弱は負け
306 名前:デフォルトの名無しさん[sage] 投稿日:2009/06/16(火) 19:40:03
みんな初心者にパネぇなwww
329 名前:デフォルトの名無しさん[sage] 投稿日:2009/06/17(水) 12:10:26
例外処理もまともにかけないとかw
ここの回答者のレベルがしれてるwwwwwwwww
2文字以上草生やしてる奴は一人しかいないからすぐ分かるな
0338デフォルトの名無しさん
2009/06/17(水) 14:30:31フレームワークって要はクラスライブラリの集まりなので無数にあるのよ
あるなら教えろと言われても 「はいこれだけです」 と簡単に答えられるものじゃない
例を挙げるならSwingもそうだしSpring Frameworkなんかもそう
Spring Framework自体も10個以上の小規模なフレームワークから構成される
0339デフォルトの名無しさん
2009/06/17(水) 14:52:58一人だと思い込めるお前がすごいよ
0340デフォルトの名無しさん
2009/06/17(水) 14:55:060341デフォルトの名無しさん
2009/06/17(水) 15:01:430342デフォルトの名無しさん
2009/06/17(水) 15:12:560343デフォルトの名無しさん
2009/06/17(水) 15:16:23「保持する要素は要素の自然順序、もしくはコンストラクタに指定されたComparatorに従って昇順にソート」
のように、自然順序というのをよく見かけるんですけど、
自然順位とは、昇順のことなんでしょうか。
0344デフォルトの名無しさん
2009/06/17(水) 15:24:14自然順序もしくは、Comparatorに従って、昇順に
普通に「自然順序」でぐぐると、java.lang.Comparable が見つかるわけだが。
計画的に使えば便利で良いよ。
0345デフォルトの名無しさん
2009/06/17(水) 15:39:300346デフォルトの名無しさん
2009/06/17(水) 15:47:04Setは実際にどのような便利さがあるんでしょうか。
重複データを除けるとかあるみたいですけど。
他に何が便利なんでしょうか。
0347デフォルトの名無しさん
2009/06/17(水) 16:00:11List でも Set の代用しようと思えば出来ない事はないけど、
重複チェックとか順不同の比較とか自分でやらなきゃいけないので不便。
0348デフォルトの名無しさん
2009/06/17(水) 16:50:300349デフォルトの名無しさん
2009/06/17(水) 17:53:22そのうちにLinked〜ってのが気になってきて、
関連してQueueとかも絡めてコレクションフレームワークとかを色々と覚えられて、
標準ライブラリの構成とかも理解が深まってマジお勧め
0350デフォルトの名無しさん
2009/06/17(水) 20:46:30見やすさのために何も書いていない行を入れているのか?
こんな感じ
public String hogehoge (String hoge) {
String hoge = "hage";
if(true) {
etc....
return hoge;
}
0351デフォルトの名無しさん
2009/06/17(水) 20:50:51ある程度の処理単位はあるっしょ
0352デフォルトの名無しさん
2009/06/17(水) 21:20:08IDEでコードを書いていると、何か汚くなっちゃって
一応はルールは決めているんだけど、あんまり見栄えが良くない
0353デフォルトの名無しさん
2009/06/17(水) 21:45:54って感じのルールでやってる、空白行は原則なし
0354デフォルトの名無しさん
2009/06/17(水) 23:13:30public int compare(Object o1, Object o2) {
return ((Integer)o1).compareTo((Integer)o2) * (-1); } }
インタフェースを実装するときは、全てのメソッドを実装しないといけない
と聞いているのですけど、Comparatorインタフェースには
compareメソッドとequalsメソッドがあるのに、
equalsメソッドを実装しなくていいのは何故なんでしょうか。
0355デフォルトの名無しさん
2009/06/17(水) 23:16:490356デフォルトの名無しさん
2009/06/17(水) 23:21:11MySort1クラスのスーパークラスは何であるかと考えてみよう。
例えばJ2SE 6のObjectクラスの説明には、
>すべてのクラスは、スーパークラスとして Object を持ちます。
>配列を含むすべてのオブジェクトは、このクラスのメソッドを実装します。
とある。ということは、どういうことかわかるな?
0357デフォルトの名無しさん
2009/06/17(水) 23:28:06Objectクラスのequalsメソッドは確か == の機能だったと思います。
Stringのequalsは内容が一緒かという比較だったと思います。
Comparatorのequalsメソッドが内容が一緒かという比較が出来ると
いうことは、Objectクラスから継承したequalsメソッドが、
Comparatorインタフェースのequalsメソッドの実装ということに
なるんでしょうか。
0358デフォルトの名無しさん
2009/06/17(水) 23:31:480359デフォルトの名無しさん
2009/06/17(水) 23:39:460360デフォルトの名無しさん
2009/06/17(水) 23:43:35JAVAを独学で勉強し始めて1ヶ月ほどたち、自分で筋トレ用の予定管理
windowアプリケーションを作ってみようとおもっています。
アプリケーションのイメージを下記リンクにイメージを張っておきました。
http://u1.getuploader.com/toollove/download/100/sample.bmp
その際、JTableを使えばよいか、GridBagLayout(セルの中にtextfieldを挿入)を
使えばよいか迷っております。
私の調べたところ、
JTable・・セルの結合ができない。
セルの内容について変化したかしないかの判定ができる
(更新時に変化の発生しないセルは更新処理を飛ばせる)
GridBagLayout・・・セルの結合ができる。セルの内容変化については不明
ということがわかりましたが、どちらをつかったほうが、このような
アプリケーションを使う際に適しているのでしょうか。
或いは、腕立て、腹筋等の項目はGridBagLayoutを用い、
予定回数、実績回数のセルは、JTableをつかったりということも
できるのでしょうか。
説明がうまくなくてすみません。
0361デフォルトの名無しさん
2009/06/17(水) 23:54:37GridBagLayoutはありえない
セルの結合って、TableはExcelじゃないよ
出来ないことも無いけど、はじめて1ヶ月じゃ手に負えないと思う
あと中にJTextFieldいれようとすると難しくなるから、入力はダイアログなり別にわけてJTableは表示だけの方が楽だと思う
作れずに挫折するようなハードルはよくない
0362デフォルトの名無しさん
2009/06/18(木) 00:07:370363デフォルトの名無しさん
2009/06/18(木) 00:08:47http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/lang/String.html#length()
0364デフォルトの名無しさん
2009/06/18(木) 00:22:45なんて釣られないからな。
0365デフォルトの名無しさん
2009/06/18(木) 01:01:390366デフォルトの名無しさん
2009/06/18(木) 01:30:44SwingなんだからHTMLのtableとか簡単だが
0367デフォルトの名無しさん
2009/06/18(木) 01:55:19継承のメリットと等価
オブジェクト指向における汎化と特化をJavaの上で実現してるのが継承だから
0368デフォルトの名無しさん
2009/06/18(木) 02:05:020369デフォルトの名無しさん
2009/06/18(木) 02:12:060370デフォルトの名無しさん
2009/06/18(木) 08:00:58私は原則として電通が公開しているJAVAコーディング規約と昨年買ったコーディングの掟の本を守る感じなのですが。
0371デフォルトの名無しさん
2009/06/18(木) 09:32:490372デフォルトの名無しさん
2009/06/18(木) 10:25:43Scrollbar sb1 = new Scrollbar(Scrollbar.VERTICAL);
add(sb1, BorderLayout.EAST);
こうやって上下のスクロールバーを実装したのですが
スクロールバーは動くものの、中の画面が移動しません。
どうすればいいでしょうか?
0373デフォルトの名無しさん
2009/06/18(木) 10:38:50つ JScrollPane
0374デフォルトの名無しさん
2009/06/18(木) 18:46:37次にビジュアルなプログラムに挑戦したいと思いますけど、
AWT、SWING、SERVLET/JSPなどが、あるようですけど、
どういう順番で勉強するのがいいのでしょうか。
0375デフォルトの名無しさん
2009/06/18(木) 18:51:09ご返答ありがとうございます。
プロジェクトに入ると自己流の書き方はNGになるという認識であってますか?
もしそうなら今やってることがなんか意味がないみたいに思えてきた…
0376デフォルトの名無しさん
2009/06/18(木) 19:10:00AWTとSWINGは今からわざわざ覚える必要は無いかなと思います。
その3つから選ぶならJSP+Servletですが、その前に軽くデータベースなんていかがでしょう。
データの永続化がないシステムなんてほとんど無いでしょうし。
JDBCを生で使って基本を押さえて、馴れたら軽めのO/RマッパーやJPA。
入門書でも少しは触りますけど、「Java入門」なのでクローズ処理とかトランザクション管理とか大切な部分が省略されちゃってますから。
ついでにDBMSの知識も得られて一石二鳥かも?
0377デフォルトの名無しさん
2009/06/18(木) 19:22:50import java.io.*;
class test101{
public static int[] num;
public static int sum =0;
static void sum(int a[]){
num = a;
for(int n=0;n<4;n++)sum+=a[n];
pw.println("合計は"+sum+"です。");
}
}
class test100{
public static void main(String args[]) {
try{
PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter("test1.txt")));
pw.println("1+2+3+4を行います。");
int[] num = {1, 2, 3, 4};
test101.sum(num);
pw.close();
}
catch(IOException e){
System.out.println("入出力エラーです。");
}
}
}
「1+2+3+4を行います。」は問題なく出力されるのですが、pw.println("合計は"+sum+"です。");でシンボルエラーが出てしまいます。
sumの中のprintln文もテキストに出力するにはどうしたら良いでしょうか?
0378デフォルトの名無しさん
2009/06/18(木) 19:39:50test101で、static void sum(int a[], PrintWriter pw) {
とすれば良いかなあ。
0379デフォルトの名無しさん
2009/06/18(木) 19:48:55「問題なく出力される」ってw
俺も>>378でいいかと。
0380デフォルトの名無しさん
2009/06/18(木) 19:54:23理由は、Test101#sum(int[])の仕事が大きすぎる気がするから。
sum()は渡されたint配列の和を計算するメソッドと割り切って、結果出力は呼出し元で行うのが自然かなと思います。
0381377
2009/06/18(木) 20:04:17なるほど!できました。
もう一つ質問なのですが、引数で指定されたファイル名で出力したいと思っています。
PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter("test1.txt")));
のtest1.txtをargs[0]にして、java test100 out.txt で実行してみたのですが、args[0]というファイルが出来てしまいました。
なにが良い方法はありませんか?
0382デフォルトの名無しさん
2009/06/18(木) 20:07:28NGです
そのプロジェクトの書き方に従わなければメンテナンスできなくなります。
ですが、マトモなプロジェクトならばルールに大きな違いはありません
Sunの標準をベースにした似たようなルールです
0383デフォルトの名無しさん
2009/06/18(木) 20:10:29for(Iterator ite = this.getFacade(request).getTestList(test).iterator(); ite.hasNext();){
TestTransfer aTran =(TestTransfer)ite.next();
mapTEST.put(aTran,aTran.getEtc());
}
テストリストから特定の物を取り出してマップにputするものですが
リストの量が大きくなった時、処理効率が悪い気がするのですが
もっと良い方法はありますでしょうか?
宜しくお願い致します
0384デフォルトの名無しさん
2009/06/18(木) 20:14:31それは多分↓こうしたのだろう。
PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter("args[0]")));
↓こうな
PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(args[0])));
0385デフォルトの名無しさん
2009/06/18(木) 20:16:40なるほど!納得です。そうですよね。ありがとうございました〜。
0386デフォルトの名無しさん
2009/06/18(木) 20:23:45ttp://www.syboos.jp/java/doc/write-image-file-from-url.html
現在のハードウェアスペックを考えると、byte型の配列が1024しかないのは
小さいような思うのですが、気のせいでしょうか?
0387デフォルトの名無しさん
2009/06/18(木) 20:24:11名前をチェックして、名前の文字数が5の人を
System.out.printlnで出力したいのですが、どのようなプログラムを書けば良いでしょうか?
0388デフォルトの名無しさん
2009/06/18(木) 20:48:42オイラもプログラミング詳しくないけど
String[] nameList ={"satou","itou","suzuki","watanabe"};
for(String name:nameList) {
if(name.length() == 5) {
System.out.println(name);
}
}
}
0389デフォルトの名無しさん
2009/06/18(木) 20:50:41直接的な答えじゃなくて申し訳ないんだけど、
その手の話をするときには先に確認することが3つあります。
(1) その処理に求められる非機能要件
(2) 想定される平均/最大データ量
(3) (2)を元にテストデータを作って実測した現行コードの処理時間
これらに問題がなければ最適化は後回しでOK。
それよりも読みやすさとか保守のしやすさを考えた方がずっと良いです。
0390デフォルトの名無しさん
2009/06/18(木) 20:52:20ネットワークの転送速度から言うならそうかもしれない。
でも、一度に読み込む分のバッファだから1024でも充分。
チューニングするかどうかのレベルの話だと思う。
>>383
自分はそれを効率UPする方法は知らない。
レスが付かなかったら、多分無視されたわけじゃなく誰も知らないということ、でよろしく。
>>387
String#length() を使う。
内部的にUnicodeなので全角半角問わずに5文字。
int CHECK_LEN = 5;
String[] names = new String[] { "1", "12", "123", "1234", "12345", "123456"
, "一", "一二", "一二三", "一二三四", "一二三四五", "一二三四五六"};
for (String name : names) {
if (name.length()==CHECK_LEN) {
System.out.println(name);
}
}
名前に空白が入っていたらとかは考えていない。
0392デフォルトの名無しさん
2009/06/18(木) 21:15:59Exceptionを習ったのですが、例外処理は全て
ユーザー定義Exceptionを利用して書くべきなのでしょうか?
まだExceptionには不慣れなこともなり、if文で判別して
書いた方が早いと感じるのですが
0393デフォルトの名無しさん
2009/06/18(木) 21:18:18データベースはMySQLを勉強してみます。
0394デフォルトの名無しさん
2009/06/18(木) 21:35:30ifで全部済まそうというのは初心者
0395デフォルトの名無しさん
2009/06/18(木) 21:38:31おぢさんたちは、エラーコードやらエラー情報やらにウンザリなんよ(´・ω・`)。
悪いことは言わない。例外を投げたり捕捉したりが絶対に便利。
0396デフォルトの名無しさん
2009/06/18(木) 21:58:31例外はあくまでも例外であって、分岐じゃないって考えてください。
例えばDBから情報を取得する時
(正常) 情報が取得できた。
(代替) 情報が無かった(分岐で書く)。
(例外) DBに接続できなかった(例外で書く)。
と書いたら少しはニュアンスが伝わるでしょか。
0397デフォルトの名無しさん
2009/06/18(木) 21:59:52初心者の遠吠え乙
>>395
意味ぷーです
>>396
簡単なコードでご教授お願いします
0398デフォルトの名無しさん
2009/06/18(木) 22:06:51毎回チェックするのとuser-agentをどっかに保持しておくのとどっちがいいでしょうか?
保持しとく場合、user-agentの種類とバージョンを一緒にして管理した方がいいのか、別々に管理したほうがいいのか。
0399デフォルトの名無しさん
2009/06/18(木) 22:08:05ほとんどIEだけどさ。
0400デフォルトの名無しさん
2009/06/18(木) 22:08:08逆に例外で分岐を扱うのが居るから困る。
あと、NullPoをcatchするようなやつは小一時間かけて説教したくなるわ。
0401デフォルトの名無しさん
2009/06/18(木) 22:27:18明らかに一緒に管理したほうがいい
種類とバージョンを別々に管理とか聞いたことがない
0402デフォルトの名無しさん
2009/06/18(木) 23:06:07javax.servletはみつかりません、と出るんですけど
何か新たにインストールしないといけないんでしょうか
0403デフォルトの名無しさん
2009/06/18(木) 23:08:06例えば…
String[] strs = new String[2];
strs[0] = "not null";
という初期化がされたStringの配列があったとして
別の所で strs[0]、strs[1]、strs[2] とアクセスしたらどう処理されるか。
添字0から順に "not null"、null、ArrayIndexOutOfBoundsException だろう。
これで取得成功、取得成功だが要素が空、取得失敗の3パターン。
0404デフォルトの名無しさん
2009/06/18(木) 23:09:18アプリケーションよりの所でNPEキャッチしてエンドユーザー向けのメッセージ出すことはあるだろ。
0405デフォルトの名無しさん
2009/06/18(木) 23:19:210406デフォルトの名無しさん
2009/06/18(木) 23:34:47貴様は俺のすべてを否定する気か。
0407デフォルトの名無しさん
2009/06/18(木) 23:35:48運用が言語知識あるとは限らないし、
生のトレース吐くだけじゃ運用がわからんこともある
0408デフォルトの名無しさん
2009/06/18(木) 23:38:04こりゃ作りこみバグだから、
わざわざcatchはしないわ
0409デフォルトの名無しさん
2009/06/18(木) 23:38:20手っ取り早いのは、MergeDocのEclipse3.4.2 java+jre を入れてしまうこと。
一緒に展開されるTomcat6.0のlib/servlet-api.jarを参照。(自分で設定するなら)
この場合、Tomcatのインストールと設定が不要なのが最大のオススメポイント。
そしてTomcatプラグイン使って楽々実行。
warファイル作って、配置して・・・とかしないで良い。
javax.servletってな〜に〜?とか聞きに来るレベルなら迷わずポチっと。
http://mergedoc.sourceforge.jp/
>>404
無いね。コーディングエラーしかありえないから。
0410デフォルトの名無しさん
2009/06/18(木) 23:46:48クラスはHttpURLConnectionを使っています。
ttp://www.monazilla.org/index.php?e=198 の要求メッセージの一例(1回目)のには
>Connection: close と書いていますが、なぜclosなのかいまいちわかりません
connect()→httpステータスコードの確認→InputStreamを使ってDatを取得の順番でいいのでしょうか?
リファラやUser-Agentの設定などは済ましています
0411デフォルトの名無しさん
2009/06/18(木) 23:52:23全体をtryで囲み
try{
・・・
}catch(NullPo){
;
}
とすることで事無きをえるようになったぜ
0412デフォルトの名無しさん
2009/06/18(木) 23:55:48eclipse3.4ガニメデ日本語オールインワン使ってます。
tomcatは5.0、5.5、6.0が入っているようです。
いまネットで見てみたら、tomcatフォルダにあるservlet.jarというのを
eclipse外部ライブラリ取り込みしなさいみたいなこと書いてあります。
やってみようかと検討中です。tomcatは6.0がいいのでしょうか。
ところでjavaxというのはtomcatに属しているのですか?
javaのAPIでクラスを調べてもservletクラスは確かにないですね。
かなり驚いています。
0413デフォルトの名無しさん
2009/06/19(金) 00:12:45J2EEを・・・
0414デフォルトの名無しさん
2009/06/19(金) 00:49:32> 無いね。コーディングエラーしかありえないから。
オモチャや使い捨てのプログラムならともかく、それ以外でエラーハンドリングしないなんてありえん。
自分も含めてプログラマがコーディングエラーしないなんて信じられるわけないだろ。
0415デフォルトの名無しさん
2009/06/19(金) 00:56:40String#length()(に限らないが)はサロゲートペアに注意な。
0416デフォルトの名無しさん
2009/06/19(金) 01:01:33おまいさんは仕事を任されたらまず最初に、失敗した時の言い訳を考えておく
のかと小一時間。
0417デフォルトの名無しさん
2009/06/19(金) 01:07:59おまえなら本当に>>411みたいなことをやりそうだなwww
0418デフォルトの名無しさん
2009/06/19(金) 01:12:21じゃあおまいはシートベルトもせず自賠責にも入らず車に乗るのかと(ry
死ぬ前にせめてダイイングメッセージ残すくらいのことはさせるだろ。
ああ、普通そういうときはExceptionとかThrowableを引っ掛けるか。
NPE直に拾うのはないな。それなら済まんかった。
0419デフォルトの名無しさん
2009/06/19(金) 01:13:18new AbstractDataAccessor()
なんてのがあった
abstractじゃないのにそんな名前つけんな!
紛らわしすぎる
0420デフォルトの名無しさん
2009/06/19(金) 01:14:370421デフォルトの名無しさん
2009/06/19(金) 01:55:340422デフォルトの名無しさん
2009/06/19(金) 07:41:06new AbstractDataAccessor()
たぶん、こうだ。
new AbstractDataAccessor()
{
// 実装
};
0423デフォルトの名無しさん
2009/06/19(金) 07:46:59新しいウィンドウでその画像を表示するプログラムを作ろうとしているのですが
新しいウィンドウを開くことについて調べると
JavaScript関係のプログラムばかり出てきてわかりません。
教えてもらえませんか?
0424デフォルトの名無しさん
2009/06/19(金) 08:19:14情報が少な過ぎてよくわからん。
Javaのバージョン、
作成するシステムの種類(Webとかawtとかswingとか…)
どこまで出来ているのか(全くゼロ、質問した新ウィンドウ以外は完成してるとか)
質問者のスキル(どの程度書けるの?)
このくらいの情報をつけてくれるとレスもしやすいと思う。
0425デフォルトの名無しさん
2009/06/19(金) 08:37:02あそこの回答見てると、ほんとに動けばいいや的なのと
拡張改修まで気にしてるのとがよくわかって面白いな。
恐らく今の質問者のスキルでは書けない実装もあるだろうし、
突っ込まれたらなんて答えるのかが非常に気になる(笑
まあ余談は横に置いといて、
Stringで読んだ数字文字列を数値に変換するときってどんな風にチェックしてます?
いきなり突っ込んでNumberFormatException捕まえるのは乱暴な気がするんだけど。
0426デフォルトの名無しさん
2009/06/19(金) 08:47:29というコードをよく見るのですが、このコードではa || b || cのように必ずa,b,cの順に実行されることが保障されてるのでしょうか?
0427423
2009/06/19(金) 08:53:38import java.io.*;
import java.util.*;
import java.awt.event.*;
import javax.swing.*;
勉強し始めて始めて3週間くらいかな
本当は宿題スレに描くべきなのかもしれないけど、
なんとか自分で解きたかったからヒントをもらいにこっちに書き込んでみました
完成度は新ウィンドウ以外はほぼ完成
画像一覧を表示させる(ウィンドウでのアイコン表示のように)部分は完成していて
そこから画像をクリックすると新しいウィンドウでプレビューのようにその画像が出るようにしたい
ただもとの画像の表示するサイズを固定して50×50ってかんじにしてるから
新しいウィンドウで開くときはまたもとの画像を読み込んでって感じにしなきゃいけないのはわかるんだけど
そのやりかたも全くわかってないくらいの初心者です。
0428デフォルトの名無しさん
2009/06/19(金) 09:16:49正規表現で緩くチェックしてから変換が無難
>426
そんなコードは滅多に見かけないわw
a, b, c の順に実行されることは保証されるが
in a = get(index++);
in b = get(index++);
in c = get(index++);
となぜ書かないんだ?
こう書けばおまえさんのような疑問が出ることもなかろうに
例外発生時も行が同じだとどこが問題かわかんねーぞ
0429デフォルトの名無しさん
2009/06/19(金) 09:20:49まずは「JDialog」で検索するよろし
0430デフォルトの名無しさん
2009/06/19(金) 09:29:02何ですかこの人?
頭壊れちゃってるんですか?8笑)
0431デフォルトの名無しさん
2009/06/19(金) 10:37:010432デフォルトの名無しさん
2009/06/19(金) 14:10:34悪戦苦闘しています。eclipseで行っているんですけど、
サーバ登録(servers)とか動的何とかとか、色々と行わないと
いけないみたいですけど、皆さんもこのような複雑なこと
本当に行っているのでしょうか。
0433デフォルトの名無しさん
2009/06/19(金) 14:11:490434デフォルトの名無しさん
2009/06/19(金) 14:13:09その後本物のTomcatを起動するとか、warにエクスポートするだとか、
複雑なこと書かれていますが、意味不明です。
0435デフォルトの名無しさん
2009/06/19(金) 14:14:490436デフォルトの名無しさん
2009/06/19(金) 14:24:54Java自体の経験はあるの?
0437デフォルトの名無しさん
2009/06/19(金) 14:31:320438デフォルトの名無しさん
2009/06/19(金) 14:53:42参照したWebページでは、Tomcatのプラグインはなにつかってんだ?
俺が使っているのは、Europa+WTPだが
新規プロジェクトで、ダイナミックウェブプロジェクトを選べば、
servlet-api.jarにパスを通すとかといった、基本的なところは
全て終わってるけどな?
多少の設定は要るが、それでもEclipse上で全て終わるしなぁ。
見てるところが古いんじゃねーの?
0439デフォルトの名無しさん
2009/06/19(金) 17:51:21Tomcatが既に起動してて、さらに起動しようとしていたようです。
HelloWordが出ました。そのHelloWordプログラムですけど、
public class HelloWorld extends HttpServlet implements Servlet {
public HelloWorld() {
super();
}
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html; charset=Shift_JIS");
PrintWriter out = response.getWriter();
out.println("<html>");
これで、setContentTypeメソッドはHttpServletResponseインターフェイスの
上位のServletResponseインターフェイスのメソッドなんですけど、
このsetContentTypeメソッドは、どこで実装されているんでしょうか。
実装している箇所を見つけきれません。
0440デフォルトの名無しさん
2009/06/19(金) 20:40:31これってJavaっぽい書き方してるんですか?
それとも適当に書いてる?
0441デフォルトの名無しさん
2009/06/19(金) 21:03:57これをどうすればJavaになるのでしょうか?
拡張子を.javaにかえても効果がありませんでした。
0442デフォルトの名無しさん
2009/06/19(金) 21:07:41パス云々の説明がめんどくさい
0443デフォルトの名無しさん
2009/06/19(金) 21:47:29引数チェックは普通。null ならぬるぽ例外の方が良いという人も。
どちらも実行時例外だが、@exception に仕様を書くべき。
要は、仕様だから馬鹿な値をよこすな、と。
引数へのfinal指定は上書きバグ防止のオマジナイ。
0444デフォルトの名無しさん
2009/06/19(金) 21:47:36直接HttpServletResponseインタフェースをimplementsしているわけでは
ないので実装する必要がないってことですか。そういえば、コレクションの
Listインタフェースとかを使うときに、実装とかやってませんでした。
クラスでimplementsするときだけ全部実装なんですね。
変な質問をしてしまいました。
0445デフォルトの名無しさん
2009/06/19(金) 22:11:29お返事感謝です。
書き方はそう変ってことはないんですね。
たぶん全角文字列で呼ぶと期待通りに動かない気がするけどいいのかな。
0446デフォルトの名無しさん
2009/06/19(金) 22:22:41このクラスを継承して、メソッドBだけをオーバライドするような処理をしたい
実際にはシンタックスエラーになるけど、これを解決するような処理できない?
0447デフォルトの名無しさん
2009/06/19(金) 22:43:24約束さえ守っているなら具体的にどうやって実現しているかは
考えなくていい、というときの約束に当る部分を定めるのが
インターフェイス。
実装がどうなっているかは、requestやresponseにgetClass()
してクラス名を調べ、あとはフレームワークのソースにあたるべし。
0448デフォルトの名無しさん
2009/06/19(金) 22:54:03メソッドBのアクセス修飾子外せ
0449デフォルトの名無しさん
2009/06/19(金) 23:00:46クラスに手を入れられないなら、最終手段はリフレクション。
0450デフォルトの名無しさん
2009/06/19(金) 23:02:44これを配列でもコレクションでもいいからまとめて管理したいのだけど
IDが重複して登録されるのは避けたい
こういう場合、追加削除の手間を考えてコレクションを使うとして
IDが被らないようにするには、追加する時にいちいち全ての要素のIDと比較して
被ってないか見てみるしかないでしょうか?
重複自体はSetで避けられるのですが
それはあくまで要素の重複で、この場合は要素の持っているx, y, idのidのみを重複不可としたいのです
0451446
2009/06/19(金) 23:13:38サブクラスではメソッドBが見えないから、やりたいことには近いけど
スーパークラスのメソッドBが見えるのは困るんだよ
>>449
調べてみるわ
0452デフォルトの名無しさん
2009/06/19(金) 23:15:430453デフォルトの名無しさん
2009/06/19(金) 23:19:020454デフォルトの名無しさん
2009/06/19(金) 23:19:490455デフォルトの名無しさん
2009/06/19(金) 23:20:140456デフォルトの名無しさん
2009/06/19(金) 23:31:57説明しているサイトがあるけどなんで?
だって、hogeは宣言した後にhoge = new LinkedList<String>();って書く事は少ないハズだし
0457デフォルトの名無しさん
2009/06/19(金) 23:54:28あとからArrayListから別のListに変えたいって思うことがあるかもしれないじゃない
マルチスレッド化するからVectorが必要になるとか
そういうときにArrayList独自のメソッド使ってると難しいってことでしょ
0458デフォルトの名無しさん
2009/06/19(金) 23:56:130459デフォルトの名無しさん
2009/06/19(金) 23:59:21ローカル変数をインタフェースで宣言する意味は余り無い。
別の何かを使う時も書き換えれば良いから。
>>458
過去の遺産。
見た目でわからないから嫌なのだが、お手軽な同期対応クラス。
0460デフォルトの名無しさん
2009/06/20(土) 00:04:56ジェネリクスの効用かなあ
例えばリターンがObjectのときキャストミスがなくなるとか。
0461デフォルトの名無しさん
2009/06/20(土) 00:10:11完全に後方互換性が必要な場合のみになったと思う。
0462デフォルトの名無しさん
2009/06/20(土) 02:23:56{
"url": "http://",
"image": "http://",
"time2": "2009-06-20T01:44:09+09:00",
"content": "あいうえお",
"user": "test",
"time": "2009-06-20 01:44:09",
"id": 1231312
},
{
"url": "http://",
"image": "http://",
"time2": "2009-06-20T01:44:09+09:00",
"content": "かきくけこ",
"user": "test",
"time": "2009-06-20 01:44:09",
"id": 1231313
}
]
こんな感じのJSONをjavaでJSONICを使い読み込みたいのですがうまくいきません
http://jsonic.sourceforge.jp/
http://jsonic.sourceforge.jp/1.1/java/api/net/arnx/jsonic/JSON.html
コードは次に
0463デフォルトの名無しさん
2009/06/20(土) 02:25:09public static void main(String[] args) throws JSONException, FileNotFoundException, IOException {
JTweetList list = JSON.decode(new FileReader("C:\\p.json"), JTweetList.class);
list.listSize();
}
}
public class JTweet {
public String url;
public String image;
public String time2;
public String content;
public String user;
public String time;
public long id;
}
public class JTweetList {
public ArrayList<JTweet> list;
public void listSize() {
System.out.println(list.size());
}
}
Exception in thread "main" java.lang.NullPointerException
at test.JTweetList.listSize(JTweetList.java:9)
at test.JSONTest.main(JSONTest.java:13)
ぬるぽなんでちゃんとJSONから取り込めてないように思えます。
どのように書けばいいのでしょうか?
0464デフォルトの名無しさん
2009/06/20(土) 03:47:27sunの実装だとjava6のrhinoに食わせればいいんじゃないの?とか思う俺。
0465デフォルトの名無しさん
2009/06/20(土) 05:12:570466デフォルトの名無しさん
2009/06/20(土) 08:44:56キーを id に、値を Node にした HashMap にするのはどう?
0467デフォルトの名無しさん
2009/06/20(土) 08:50:320468デフォルトの名無しさん
2009/06/20(土) 09:27:270470デフォルトの名無しさん
2009/06/20(土) 11:42:17これって、もっと格好良くかけないの?
0471デフォルトの名無しさん
2009/06/20(土) 12:14:40return a+b;
}
っていう関数の何かをintかlongどちらでも使えるようにするにはどうやりますか?
0472デフォルトの名無しさん
2009/06/20(土) 12:47:12今まではバッチ系の実装者をやってきてたんですが、
突然管理側に回ることになり、
しかも下についてるメンバがマルチスレッドに疎いため、
参考文献を用意したいと思ってます
0473471
2009/06/20(土) 12:51:23足し算<INTEGER >(10,10);
とやるようなのがいいです。
0474デフォルトの名無しさん
2009/06/20(土) 12:54:46Java並行処理プログラミング ―その「基盤」と「最新API」を究める―
http://www.amazon.co.jp/dp/4797337206
http://www.fukkan.com/fk/VoteDetail?no=46255
0475デフォルトの名無しさん
2009/06/20(土) 13:24:30何かする
}
static long[] a(long[] a, long[b]){
何かする
}
この二つをまとめる方法ありませんか?
0476デフォルトの名無しさん
2009/06/20(土) 14:07:0430*10^3
0477デフォルトの名無しさん
2009/06/20(土) 14:19:55Javaじゃ無理。
JDKでやってるみたいに m4マクロとか使って
.java を生成するのはアリだけど、スレ違いかな。
0478デフォルトの名無しさん
2009/06/20(土) 14:30:12とかやろうとして、プリミティブは駄目、と怒られた。
0479デフォルトの名無しさん
2009/06/20(土) 14:36:460480デフォルトの名無しさん
2009/06/20(土) 16:56:04FileNotFoundExceptioを発生させないで、ファイルを作ってくれるクラスない?
0481デフォルトの名無しさん
2009/06/20(土) 17:04:270482480
2009/06/20(土) 17:27:14ありがとう
0483デフォルトの名無しさん
2009/06/20(土) 17:29:26があるようですが、これはどのように考えたら良いのでしょう?
・superクラスの例外と同じか、そのサブクラスの例外のみ投げることが
できる。
・superクラスで規定されない例外は投げることができない。
(サブクラスのメソッドで投げないのはOK)
オーバーライドで、ぜんぜん別の実装をして、superクラスとは
まったく別の例外が投げられることもあると思うのですが、
あえて禁止しているのは設計上、こうやれというのがあるんだと
思います。
その辺ってどう考えたら良いのでしょう?
0484デフォルトの名無しさん
2009/06/20(土) 17:37:44継承によってメソッドの上げる例外の種類が増えてしまうと、
既存の処理で捕捉できなくなってしまう。
0485デフォルトの名無しさん
2009/06/20(土) 17:38:25> まったく別の例外が投げられることもあると思うのですが、
そーゆー場合は Throwable#setCause なりを使って
例外連鎖させる。
0486デフォルトの名無しさん
2009/06/20(土) 17:42:23なるほど。
よくわかりました。
ありがとうございます。
0487デフォルトの名無しさん
2009/06/20(土) 18:51:24って複数のオブジェクトをファイルに書き込
みたいのですが、一度書き込んでプログラム
を終了し、もう一度起動して書き込みを行う
と上書きされてしまうのですがどうすれば上
書きされずに書き込みができるのでしょうか?
よろしくお願いします(-.-;)
0488デフォルトの名無しさん
2009/06/20(土) 18:51:55ファイル名を変える
0489デフォルトの名無しさん
2009/06/20(土) 19:09:06サブクラスで追加された部分はメモリ上で適当な値が入っているわけ?
0490デフォルトの名無しさん
2009/06/20(土) 19:09:50レスポンスするみたいですけど、処理Aの大部分は普通のJavaと
同じということでいいのでしょうか。
0491デフォルトの名無しさん
2009/06/20(土) 19:10:32早速ありがとうございます。
つまり、同じファイルには書き込めないとい
うことでしょうか(?_?)
馬鹿で左遷…
0492デフォルトの名無しさん
2009/06/20(土) 19:16:150493デフォルトの名無しさん
2009/06/20(土) 20:09:28同じディレクトリに同じファイル名のファイルは2つつくれない
だから同じのを指定すると上書きされる
上書きされないようにするには別のディレクトリにするか、ファイル名を変えるかどっちかしかない
0494デフォルトの名無しさん
2009/06/20(土) 20:11:32追記したいって言ってんだろ
日本語初心者は無理して回答すんな
0495デフォルトの名無しさん
2009/06/20(土) 20:11:45もしかして追記か?
ttp://home.f02.itscom.net/soukyoku/jtips/file.html
0496デフォルトの名無しさん
2009/06/20(土) 21:07:24そうです。追記のことです。(分かりにくくてスミマセン)
プログラムの起動を二回に分けて書き込んだ後
もう一度起動して読み込む際、一度目の
readObject()の呼び出しは成功するのですが
二度目の呼び出しでjava.io.EOFException
が発生してしまいます。
Scannerのトークンのように呼び出すのが理想なのですが…
0497デフォルトの名無しさん
2009/06/20(土) 21:37:350498デフォルトの名無しさん
2009/06/20(土) 21:45:44たとえば、下記のようにメインファイルから別のクラスを
呼び出して処理を行うやつがありますが↓
【メインファイル】
import bb.*;
public class AA{
=メイン=
}
【パッケージbbに入ってる他のクラス】
package bb;
public class BB{
==処理==
}
これら全てのクラスを一気にコンパイルしたい時は
コマンドプロンプトでメインのファイル名だけ指定してコンパイルすれば
いいんだよね?classファイルが作られてない時は一斉にコンパイルして
くれるんだけど、修正後2回目にコンパイルしたらメインファイルしか
コンパイルしてくれなくて。どこか間違えてるんでしょうか。
0499デフォルトの名無しさん
2009/06/20(土) 22:43:46トムキャットをインストールしたんだけど開けませんとかでて開けないorz
javaVM上じゃないとだめとか?
ちなみにOSはビス太ホームpremium
0500デフォルトの名無しさん
2009/06/20(土) 22:50:040501デフォルトの名無しさん
2009/06/20(土) 23:20:50それbbのパッケージのほうのソースも修正したの?
ディレクトリ構造とファイル、叩いたjavacコマンド晒してみ
0502デフォルトの名無しさん
2009/06/20(土) 23:24:15ObjectOutputStreamで何を書き出してるの?
直列化したクラスインスタンスだったりする?
t−k、ObjectOutputStreamって追記設定できたっけ
0503デフォルトの名無しさん
2009/06/20(土) 23:34:31したよ。AAもBBも修正かけた。といっても
int num = 0;をint num = 1;に変えたくらいの小さい修正だけど。
【ディレクトリ構造】
Javaフォルダ(作業場所)
┣AA.java
┗パッケージbb
┗BB.java
javacコマンドは1回目・2回目共に「javac AA.java」。
やはり2回目の仕方がおかしいのかな。それともディレクトリの
構造上、「javac Java\AA.java」にしなきゃ駄目かな。
昨日までは「javac AA.java」で一気にコンパイルできたんだけどなあ。
0504デフォルトの名無しさん
2009/06/20(土) 23:46:15├ AA.java 22:40
└[bb]
└BB.java 22:40
E:\java\test_src>javac AA.java
E:\java\test_src
├ AA.java 22:40
├ AA.class 22:40
└[bb]
├BB.java 22:40
└BB.class 22:40 ここでAA.javaとBB.javaに両方変更を入れて、再度同じjavacを叩く
E:\java\test_src
├ AA.java 23:40
├ AA.class 22:40
└[bb]
├BB.java 23:40
└BB.class 22:40
E:\java\test_src>javac AA.java
E:\java\test_src
├ AA.java 23:40
├ AA.class 23:40
└[bb]
├BB.java 23:40
└BB.class 23:40
試してみた。時間はOSの時刻変えて試行したのでタイムスタンプを表記
ちゃんとコンパイルかかるけどな、つーかAAからBBを使ってるわけだし、BBに変更入ってればコンパイルかかるはずだけど、ちなみにCLASSPATHは .; のカレント設定のみ
0505デフォルトの名無しさん
2009/06/20(土) 23:56:530506デフォルトの名無しさん
2009/06/20(土) 23:59:43こんなにがんばってくれてありがとう。
ちなみに自分は今作成してるJSPファイルを動かすために
トムキャットをインストールしてます。そのため、クラスパスは
>>504さんのカレント設定の後ろにトムキャットのためのパスを
つけています。ちなみこのトムキャットの部分を一度外してみても
解決しなかったです。何が違うのだろうなあ。
トムキャット
0507デフォルトの名無しさん
2009/06/21(日) 00:02:54>>503
0508デフォルトの名無しさん
2009/06/21(日) 00:09:24>>505
>classファイルに変更が起こるようなソースの変更
これの基準が自分でもよく分からないんです。
503をもうちっと詳しく書くと、「あるメソッドを呼び出して、
そこで得られた値(戻り値)をある変数にセットする」って感じです。
たとえば
//5と2をbbファイルのPlusCalcメソッドに渡して加算し、戻り値をセット
int answar = 0;
answer = b.PlusCalc(5,2);
これを
//5と2をbbファイルのMinusCalcメソッドに渡して減算し、戻り値をセット
answer = b.MinusCalc(5,2);
これってclassファイルには影響無いものなんでしょうか。
足し算が引き算になったくらいだし。
0509デフォルトの名無しさん
2009/06/21(日) 00:11:17自己レスも含めて
ObjectOutputStreamは複数回writeObject()できるけど、追記は無理そう
なので、書き出したものを一旦全部readObject()で取り込んでおいて、
取り込んだものを再度全部書き出してから、追記したいモノをwriteObject()すればいいかも
EOFExceptionは再現できた、
writeObject()を100回やったファイルに対して、
101回のreadObject()でなるみたい
0510デフォルトの名無しさん
2009/06/21(日) 00:18:25良サイトはないでしょうか
0511デフォルトの名無しさん
2009/06/21(日) 00:31:36http://ja.wikipedia.org/wiki/Java
0512デフォルトの名無しさん
2009/06/21(日) 01:09:160513デフォルトの名無しさん
2009/06/21(日) 01:33:11> * J2SE 1.2.2_004 までは JDK と呼んでいた。
> * J2SE 1.4 までは Java 2 SDK と呼んでいた。
> * J2SE 5.0 では 再び JDK と呼んでいる。
へぇ〜へぇ〜
また余計な知識を身につけてしまった。
0514デフォルトの名無しさん
2009/06/21(日) 08:54:01>>502
>>509
ありがとうございます。
いろいろ試したのですがなかなかうまくいかないです。ググってもみましたが・・
何とか自分で解決してみます。(ほんとスミマセン・・)
ちなみにコードはこんな感じです↓
0515デフォルトの名無しさん
2009/06/21(日) 09:01:41try{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("「新規作成」または「表示」を入力してください");
String s = br.readLine();
Car c;
// 書き込み(機動を2回(または複数)に分けておこなう
if(s.equals("新規作成")){
System.out.println("名前を入力してください");
c = new Car(br.readLine());//オブジェクトに名前を与える
FileOutputStream fs1 = new FileOutputStream ("CARS");//CARSファイルに保存
ObjectOutputStream os1 = new ObjectOutputStream(fs1);
os1.writeObject(c);
os1.flush();
os1.close();
System.out.println("ファイルに書き込みました");
}
// 読み込み(保存したオブジェクトを取り出す)
if(s.equals("表示")){
FileInputStream fis1 = new FileInputStream("CARS");
ObjectInputStream ois1 = new ObjectInputStream(fis1);
c = (Car)ois1.readObject();//一度目の読み込み
System.out.println(c.name);//名前を出力
c = (Car)ois1.readObject();//二度目のよみこみ(読み込めない)
0516デフォルトの名無しさん
2009/06/21(日) 09:07:45コードなんて貼らないでいいよ
0517デフォルトの名無しさん
2009/06/21(日) 09:09:19System.out.println(c.name);
ois1.close();
}
}catch(Exception e){}
}
}
class Car implements Serializable{//このクラスを直列化
String name;
Car(String s){name = s;}
}
軽く荒らしたかも知れない…orz
次回から自重します
0518デフォルトの名無しさん
2009/06/21(日) 09:09:55プログラミングの経験は何年かあって今はjavaをやっています。
動くものということであれば少し作れるのですが、
例外処理をちゃんと使いこなしていないように思います。
文法に関してはある程度理解しています。
例外の使いこなしがトピックに入っている良書、またはサイトなどはないでしょうか。
文法的な説明だけでなく、
「こういうときこうすればこういう理由でとても便利だろ」みたいなやつがいいです。
本屋やAmazonで探したのですが、探し方が悪いのかなかなか見つかりません。
書籍の場合、できれば新しめのものがいいのですが、
ないのであれば古いものでも構いません。
何かいいものをご紹介ください。
0519デフォルトの名無しさん
2009/06/21(日) 10:10:08>>514にしろそうだけど教えてもらう立場の人間が「・・・」を使用するのは
納得していない様子を相手に与えるので非常に失礼
0520デフォルトの名無しさん
2009/06/21(日) 10:27:29そう思うなら君みたいな生意気君は答えなくていいよ
どうせリアルだと友達いないんでしょw
0521デフォルトの名無しさん
2009/06/21(日) 10:53:35例外処理とロギングのベストプラクティス
ttp://codezine.jp/article/detail/1581
[Java]Throwableについて本気出して考えてみた
ttp://d.hatena.ne.jp/daisuke-m/20081202/1228221927
NumberFormatException が非チェック例外なのはなぜ?
ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7503&forum=12
この3つを読めば感覚はつかめると思う。
あとは実践して力にしないとだめ。
0522デフォルトの名無しさん
2009/06/21(日) 11:00:49落ち着け。
なにがそんなに悔しかったんだ。
0523デフォルトの名無しさん
2009/06/21(日) 11:16:03今すぐ Effective Java を読むことを、おすすめする。
例外のベストプラクティスについても詳しいし、それ以外にも絶対に役に立つはず。
昔のJavaはきちんとChecked Exceptionを使うことが推奨されていたが、
最近のフレームワークはRuntimeExceptionを多用するようになってきている。
その理由もこの本を読めばわかると思う。
0524デフォルトの名無しさん
2009/06/21(日) 11:21:38ちょっと古いけど、この記事も読んでおくといいでしょう。
dW : Java technology : Javaの理論と実践: 例外をめぐる議論
http://www.ibm.com/developerworks/jp/java/library/j-jtp05254/
0525デフォルトの名無しさん
2009/06/21(日) 12:43:55>>523
>>524
ありがとうございます。
サイトで紹介してもらったものは今読み始めました。
Effective Javaも買ってみようと思います。
Amazonで作者の前書きを読みましたが、
ほかの言語でも参考になりそうだなあと思いました。
ありがとうございました!
0526デフォルトの名無しさん
2009/06/21(日) 13:10:16double pi1 = 3.14;
int pi2 = 3
String piString1 = "" + pi1; //piString1の中身は"3.14"……�@
String piString2 = "" + pi2; //piString2の中身は"3"……�A
ということですが、�@�A共に右辺の意味がわかりません。
なぜ左にだけ""なのでしょう? String piString1 = "" + pi1 + ""; ではいけないのですか?
また String piString1 = pi1; ではいけないのですか?
0527デフォルトの名無しさん
2009/06/21(日) 13:24:53それでもいいよ。冗長になるけど。
> また String piString1 = pi1; ではいけないのですか?
double から文字列型に型変換できないからダメ。
0528デフォルトの名無しさん
2009/06/21(日) 13:29:00の場合「何か」を文字列にしてから連結してくれることを利用している。
0529デフォルトの名無しさん
2009/06/21(日) 13:32:38"" + pi1 では、数字pi1がダブルクォーテーションで囲まれていないのでは?
0530デフォルトの名無しさん
2009/06/21(日) 13:38:45"" + pi1 は、 空文字列にpi1を文字列に変換してから連結します。
0531デフォルトの名無しさん
2009/06/21(日) 13:40:04空文字 + 数字pi1 → 空文字 + 文字列pi1 → 文字列pi1 と順に変換されていって、
最後にそれを文字列piString1に代入しているということか。
0532デフォルトの名無しさん
2009/06/21(日) 13:55:47writeObject()の回数以上のreadObject()はできない、EOFExceptionが出る
一回readObject()で読みこんだら、それを保持して使いまわせ
0533デフォルトの名無しさん
2009/06/21(日) 16:35:39プログラミングをするにあたってMVCモデルと言うのが
あるそうなのですが(ttp://e-words.jp/w/MVC.html参照)、
よく使われるsetメソッドやgetメソッドのような
値を表示したりセットしたりするものはM・V・Cのどれに
あたるんでしょう。やっぱり入出力だからM?
0534デフォルトの名無しさん
2009/06/21(日) 16:43:05特定のメソッドをそう呼ぶというものではない。
settter/getterというのは、クラスの中がどうなっているか
を外部に知らせる必要はないという考えで、カプセル化(encapsulation)
という。MもVもCもsetter/getterは持ちうる。
0535デフォルトの名無しさん
2009/06/21(日) 16:53:13setメソッドやgetメソッドは、オブジェクトの入出力の命名規約。
MVCはデータ管理・情報表示・入力という単位でシステムの構造を整理する
という方法論。
ネジ穴規格は車体・エンジン・足回りのどれにあたりますかと聞いてるのと
同じだから、当然に対応付けは無意味。
0536デフォルトの名無しさん
2009/06/21(日) 18:02:38MVCとはなんかズレてる気がするんだよね。
1.Presentation
2.Business Logic
3.Persistence(Data Access)
ってわけたとき、MVCのどれがどれに対応するんでしょ。
0537デフォルトの名無しさん
2009/06/21(日) 18:10:170538デフォルトの名無しさん
2009/06/21(日) 18:13:43そうだったのか。クラス単位で見て分類する
ものなんだな。じゃあある意味、setやgetは
どこのクラスで使っても良いってことか。
回答ありがとう。
0539デフォルトの名無しさん
2009/06/21(日) 19:11:00三層は分散システムを意識した分類。MVCとは立脚点が違うと思う。
MVCは単層アプリでもそう作るから。
例えばよく引き合いに出されるExcelはMVCの分離の成果として同じ
ワークブックを複数画面で同時表示・同時編集できる。
MとVCが一対一でなくても良いということを説明する良い見本。
プレゼンテーションがVCで、永続化は確実にM。
ビジネスロジックは意見が分かれてるけど、まあMじゃない?
0540デフォルトの名無しさん
2009/06/21(日) 19:14:360541デフォルトの名無しさん
2009/06/21(日) 19:48:340542デフォルトの名無しさん
2009/06/21(日) 21:13:29set○○て名前のメソッドが複数あったとして、あるsetメソッドで
同じクラスにある他のsetメソッドを使うのはOK?
setCount(int x){
this.x = x;
setManbo(this.x);//x使って別の処理
}
みたいに。なんか前やったらイクナイと言われたんだが。
0543デフォルトの名無しさん
2009/06/21(日) 21:23:20例えばあるクラスAの配列を別クラスBのメソッドに渡して処理し、
それをまたクラスAのメソッドに渡して格納する、という処理を
してるんですが(下のように)、
a.setBound(b.Magic(a.array));
これをフローチャートで表したい時って、
【配列を渡して処理】→【処理済の配列をセット】とかいう風に書いて
良いのでしょうか?それとも【配列を渡して処理し、処理済のものをセット】と
まとめたほうがいいのでしょうか?
0544デフォルトの名無しさん
2009/06/21(日) 21:28:23setterにやらすことじゃない。
0545デフォルトの名無しさん
2009/06/21(日) 21:47:26そうなのか。ありが�d。
0546デフォルトの名無しさん
2009/06/21(日) 22:00:28チャートはどうするかを書くのではなく、何をするかを書かないとなぁ。
具体的には「配列を渡して処理」じゃなくて、何をするのかが必要。
そこらへんの基本を押さえられない程度じゃまだまだヒヨっこ。
まずは、そこからきっちり意識しよう。
その上で、パラメータとして配列を使うとか、副作用があるないとか、そういった
ものは実装の詳細として「追記」していく。あくまでオマケ。
>>545
544 は this.y = this.x で良いんじゃね?と言っていると思う。
setManbo() で何か処理しているなら、setManbo() した方が良いと思う。
例えばコレクションに追加するとかしていたら。(setXXじゃしないか、そんなこと)
0547デフォルトの名無しさん
2009/06/21(日) 23:11:38543です。ありがとうございます。
処理の内容はついつい省略してしまいました。
実際のフローチャートではちゃんと書きます。
ただ、1文で表されているものをフローチャートで2つの項目に分けて
書いてしまっても良いものか迷ったので相談しました。
0548デフォルトの名無しさん
2009/06/21(日) 23:28:12遅れました申し訳ありません
レスを参考にいろいろと試していってみます
0549デフォルトの名無しさん
2009/06/21(日) 23:29:40処理は一文で書けたとしても、そこでは「何か」を複数しているわけだから、
書くべきと判断した「何か」の数ぶんだけ書けばいいよ。
書くべきか書かないで省略すべきか、は難しすぎて。
経験で、もしくは趣味でとしか言えない。
0550デフォルトの名無しさん
2009/06/21(日) 23:39:50その前の段階である以上、コードになったらどうなるか、よりも
抽象度の高い書き方になるはず。
0551デフォルトの名無しさん
2009/06/21(日) 23:45:20フローチャートにも色々あるね。
プログラマが見る、設計者が見る、顧客が見る。
その切り口によって色々と変わってくるね。個人の趣味でプログラムを
作って、後でメンテしやすいようにとか、備忘録的であるとか、
そこいらは自由だね。ビジネスでのフローチャートの場合、
殆どプログラムと変わらないような物を要求される場合もあるね。
色々。
0552デフォルトの名無しさん
2009/06/22(月) 01:07:200553デフォルトの名無しさん
2009/06/22(月) 02:00:530554デフォルトの名無しさん
2009/06/22(月) 02:16:510555デフォルトの名無しさん
2009/06/22(月) 10:56:35最初からいきなりeclipse使うと、逆に難しく感じるよ。
俺はそうだった。
初めてんとき、WTPだのTomcatプラグインだの使ってやろうとしたら、とりあえずなんとかHelloの表示まで漕ぎ着けたものの”理解”と呼べるようなモンじゃぁなく、挫折しかけた。
とりあえず最低限、
Javaをコマンドラインでコンパイル&実行できるレベルなら、最初はメモ帳1つで作ってみる方が簡単だったりする。
1回やってみれば、ふーんなるほどねーってWTPだのも便利に使えるようになるよ。
お試しあれ。
0556デフォルトの名無しさん
2009/06/22(月) 10:57:540557デフォルトの名無しさん
2009/06/22(月) 14:07:16eclipseでは一つのweb.xmlに入れ込んでいるけど、どちらがいいのでしょうか。
0558デフォルトの名無しさん
2009/06/22(月) 14:17:220559デフォルトの名無しさん
2009/06/22(月) 16:31:46http://revengejava.web.fc2.com/
0560デフォルトの名無しさん
2009/06/22(月) 16:34:370561デフォルトの名無しさん
2009/06/22(月) 18:23:280562デフォルトの名無しさん
2009/06/22(月) 18:50:57>>532
わかりました。
ご回答ありがとうございます。
0563デフォルトの名無しさん
2009/06/22(月) 23:30:46簡単で面白い物がいいんですけど。
アプレットなんかがいいんですかね?
0564デフォルトの名無しさん
2009/06/22(月) 23:32:290565デフォルトの名無しさん
2009/06/23(火) 00:25:181.class Nanasi {
Kouhai i = new Kouhai();
public void suteru() {
i.suteru();
}
}
と
2.class Nanasi {
public void suteru() {
Kouhai i = new Kouhai();
i.suteru();
}
}
の書き方ではどういう違いがあるの?
1.フィールドで委譲先のオブジェクトを管理している
(でも管理という意味だとどっちの書き方でも同じな気がするけど。)
2.特別な意味がない限り普通にあるクラスのメソッドを呼び出すときは
こういう書き方が多いと思ってる。
可視性などの問題を考える必要があるのでしょうか?
それとも考える意味もないような違い・・・?
0566デフォルトの名無しさん
2009/06/23(火) 00:51:410567デフォルトの名無しさん
2009/06/23(火) 00:58:14class Nanasi {
Kouhai i = new Kouhai();
public void suteru() {
i.suteru();
}
public void setName(String name) {
i.setName(name);
}
public void sayName() {
System.out.println(i.getName());
}
}
一般的には委譲っていうと1かなー。
}
0568デフォルトの名無しさん
2009/06/23(火) 01:03:31オブジェクトのライフサイクルのことですか。
委譲先が消滅すると同時に委譲元のオブジェクトも消滅する。
とかいう話ですかね。
といっても、どういう場合にどうなるか説明できないですが。。
0569デフォルトの名無しさん
2009/06/23(火) 01:07:24ほ〜クラス内でオブジェクトを共有できるということでしょうか。
わたしの中で566さんの保存期間という話とちょっと結びつけられていないですが。
お二人が言っているポイントは別と考えた方がいいんですかね?
0570デフォルトの名無しさん
2009/06/23(火) 01:11:040571デフォルトの名無しさん
2009/06/23(火) 01:18:260572デフォルトの名無しさん
2009/06/23(火) 01:23:33可視性てなんですか?
0573デフォルトの名無しさん
2009/06/23(火) 01:30:58クラス変数とローカル変数では、継承などしたときに
アクセスできるできないがかわってくると思っているので、
そんな話も関係あったりするのかなと思って言ってみました。
0574デフォルトの名無しさん
2009/06/23(火) 02:14:40あほみたいに大量のテキスト量じゃない限り力任せが一番万能、かつどういう条件でもある程度の早さを誇る。
ふつうはそれ以外の極限られた条件下のみ、その条件に最適化して探す。
そうじゃないと最適化する準備時間に釣り合わない。
というかjava関係ない。
>>561
JMFでだめなら自前
0575デフォルトの名無しさん
2009/06/23(火) 07:58:48ユーザから入力を受けとって処理する場合に、
入力された文字の文字コードは何によって決まるのでしょうか。
例えばWebシステムだと
ユーザOSの文字コード、
ブラウザのエンコード設定、
入力フォームのページの文字コード、
同ページのエンコード設定(xml宣言とかmetaとか)
など色々候補があってよくわかりません。
あとJava内部ではUnicodeを使っているとのことですが、どこで元々の文字コードとの変換を行っているのでしょうか。
ご回答、参考サイト、文献情報などよろしくお願いします。
# オライリーのCJKなんとかっていう"鈍器"は気になってます。
0576デフォルトの名無しさん
2009/06/23(火) 08:33:530577デフォルトの名無しさん
2009/06/23(火) 10:46:53わかんねぇなら黙ってろよ
0578デフォルトの名無しさん
2009/06/23(火) 11:05:490579デフォルトの名無しさん
2009/06/23(火) 12:14:06フグ本に目をつけたのはいいんだが、あの内容って今でも使えるのか?
0580デフォルトの名無しさん
2009/06/23(火) 12:58:520581デフォルトの名無しさん
2009/06/23(火) 13:00:360582デフォルトの名無しさん
2009/06/23(火) 13:02:13激しく同意
0583デフォルトの名無しさん
2009/06/23(火) 13:39:13おまえが設定した、フォームなりのHTTPヘッダとMETAタグのContentTypeできまる。
少しググればいくらでも出てくる情報だと思うんだが。
0584デフォルトの名無しさん
2009/06/23(火) 13:53:47そこにmappingとかfilterとか記述するようになっているんですけど
これは必須なんでしょうか。そうして実行するときには必ず
tomcatのようなサーバーが必須なんでしょうか。サーバなしでは
動かないんでしょうか。
0585デフォルトの名無しさん
2009/06/23(火) 14:03:48最低限これらは必要でそこから更に肉付けされて行くようなイメージだね
0586デフォルトの名無しさん
2009/06/23(火) 14:23:23助けてください
0587デフォルトの名無しさん
2009/06/23(火) 14:24:370588デフォルトの名無しさん
2009/06/23(火) 15:04:590589デフォルトの名無しさん
2009/06/23(火) 15:35:13WEB-INFの中にweb.xmlがあるんですけど、これを直接開いて、
<security-constraint>などを追加して、eclipse内部のtomcatを起動したら
反映されていませんでした。ここは直接開いて修正したら反映されないのか
と思い、既存のサーブレット名を変えてみて同じように起動してみると
反映されていました。<security-constraint>などだけが無視されて
いるようです。eclipseでweb.xmlを開いて設計でもソースでも見ても、
存在してないです。無視されてます。どうしたらいいのでしょうか。
0590デフォルトの名無しさん
2009/06/23(火) 15:37:36とりあえず質問しました、じゃなくて
自分でググってから質問した?
DTD読めばその要素が必要かどうかは判断できるから
それをみて判断しなされ。
0591デフォルトの名無しさん
2009/06/23(火) 15:39:33>と思い、既存のサーブレット名を変えてみて同じように起動してみると
>反映されていました。
意味がよくわからんのだが?
0592デフォルトの名無しさん
2009/06/23(火) 15:58:54いまは何故か反映されています。
0593デフォルトの名無しさん
2009/06/23(火) 16:21:13eclipseからweb.xmlをエディタで開いても修正が反映されてないですね。
0594デフォルトの名無しさん
2009/06/23(火) 16:23:20BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(filename)));
とあったときに、reader (= BufferedReader) を close すると、InputStreamReader と FileInputStream も close されるとかんがえていいでしょうか。
0595デフォルトの名無しさん
2009/06/23(火) 16:31:50close時に例外発生しない、っていう条件付きならOK。
0596デフォルトの名無しさん
2009/06/23(火) 16:45:180597デフォルトの名無しさん
2009/06/23(火) 17:29:55>591の答えにはなっていないわけだが。
>593を見る限りEclipseのWTP上のプロジェクトのものと
Tomcatにデプロイしたファイルを見比べているようだが、
やってることがおかしい。
まず、Eclipse上のTomcatと言っているのはなに?
WTPなのか、Sysdeoプラグインなのか、どっち?それともまた別の物?
0598デフォルトの名無しさん
2009/06/23(火) 17:33:100599デフォルトの名無しさん
2009/06/23(火) 17:50:11>まず、Eclipse上のTomcatと言っているのはなに?
eclipseの中には公開用のTomcatと内部テスト用のTomcatがあるらしいです。
eclipseの上部の豹ボタンをクリックすると公開用が、下のほうにある、
サーバーというタグから起動すると内部テスト用のTomcatが動くようです。
ですから、どきらか一方で起動した後に、もう一方で起動しようとすると
ポートが空いていないと言われます。
eclipseはhttp://mergedoc.sourceforge.jp/から3.4をダウンロード
しました。プラグインとか何も使ってなくて、そのまんまです。
0600デフォルトの名無しさん
2009/06/23(火) 17:54:44見えるので、ダブルクリックして、xmlエディターで修正したら
ちゃんと反映されるようなので、今後は、そうしようと思います。
0601デフォルトの名無しさん
2009/06/23(火) 18:51:32一回目は、認証画面が出て、入力すると認証を通過してサーブレットの
ブラウザ画面が出ました。しかし、ブラウザ画面を一旦閉じて、再度実行
すると、すでに認証を通っているみたいで、認証画面が出ません。
Tomcatサーバを終了させて、再度起動させても、やっぱり認証画面が
出ません。どこかに認証が一度通ったことを覚えているんだと思うのですけど
それを断ち切って、毎回認証画面を出すようにするには、どうしたらいいのでしょうか。
0602デフォルトの名無しさん
2009/06/23(火) 20:10:10悩む分時間省けるよ
0603デフォルトの名無しさん
2009/06/23(火) 20:17:59Basic認証とはそういうものだ。
http://oshiete1.goo.ne.jp/qa2001219.html
0604デフォルトの名無しさん
2009/06/23(火) 20:20:26物理メモリ以上の領域を扱うことができる仮想メモリのように、仮想ヒープみたいな方法はないんでしょうか?
ちなみに、マシンのスペックを変更(買い替えろ!)することや、アルゴリズムの変更(ストリーム使え!)とかはできません…
0605デフォルトの名無しさん
2009/06/23(火) 20:22:350606デフォルトの名無しさん
2009/06/23(火) 20:26:060607デフォルトの名無しさん
2009/06/23(火) 20:29:02いま認証のところ見てますけど、心が折れそうになりますね。
0608デフォルトの名無しさん
2009/06/23(火) 20:33:440609デフォルトの名無しさん
2009/06/23(火) 21:03:35MappedByteBuffer・・・2GB使えるのかなコレ?
positionはint。一応2GBまでは指定できそうだけど。
0610デフォルトの名無しさん
2009/06/23(火) 21:08:140611デフォルトの名無しさん
2009/06/23(火) 21:19:11の複製しても、プリミティブ型のフィールドしかディープコピーされない
みたいなこと書かれてたんですけど、
string型ってどうなるんでしょうか?
�@複製先データクラス変数 = 複製元データクラス変数.clone();
�A複製元データクラスのStringフィールドの内容を変更
�B複製元、複製先のStringフィールドの内容表示
みたいな感じで試したら、
ちゃんと別々の内容になってはいたっぽいんですけど、
なんか使うの不安なので教えてもらえないでしょうか。
0612デフォルトの名無しさん
2009/06/23(火) 21:23:05内容の変更が(setterを介すにせよ)代入で行われたのなら、
その時点で元と先は別々のStringインスタンスを指すことになる。
浅いコピーで問題になるのは、mutableなもの。
たておば配列フィールドを作って要素を書き換えてみれ。
0613デフォルトの名無しさん
2009/06/23(火) 21:37:12「なわけねーだろ」みたいな例があったら教えてください。おながいします。
0614sage
2009/06/23(火) 21:40:39その辺ちょっと調べてみるようにします。
612さんありがとうございました。
0615デフォルトの名無しさん
2009/06/23(火) 21:43:08(reflection使えば別だが)
よって>>611にある「Stringの内容を変更」てのは(通常は)出来ないので、
あなたは変更したつもりかもしれないが、単に別のオブジェクトになってる
だけだろう、と言いたかった。
0616デフォルトの名無しさん
2009/06/23(火) 21:51:19abstract class A {}
abstract class B extends A {}
抽象クラスAを継承したBも抽象クラス
0617デフォルトの名無しさん
2009/06/23(火) 22:03:26誰か意図を教えてくれ
0618デフォルトの名無しさん
2009/06/23(火) 22:13:390619デフォルトの名無しさん
2009/06/23(火) 22:33:23char型とvarchar型、どちらがいいのでしょうか。
javaからも今後使いたいと思いますので。
0620デフォルトの名無しさん
2009/06/23(火) 22:48:010621デフォルトの名無しさん
2009/06/23(火) 22:48:08そうか。
うーむ、確かに。
abstract class Doubutsu {}
final class Human extends Doubutsu {}
みたいなのばかりかと思っていたけど、そうじゃないことがわかりました。
もっと勉強します。
0622デフォルトの名無しさん
2009/06/23(火) 22:48:310623デフォルトの名無しさん
2009/06/23(火) 22:48:39なんか、Staticにするの怖いんだけど
0624デフォルトの名無しさん
2009/06/23(火) 22:49:310625デフォルトの名無しさん
2009/06/23(火) 22:55:170626623
2009/06/23(火) 22:57:01思ったよりstaticを使っていると感じたので
オイラは独学だからみんなどうしているのかな〜と、思ったわけ
0627デフォルトの名無しさん
2009/06/23(火) 23:12:43ネイティブって何?
0628デフォルトの名無しさん
2009/06/24(水) 00:26:130629デフォルトの名無しさん
2009/06/24(水) 00:33:400630デフォルトの名無しさん
2009/06/24(水) 00:58:40NetBeansがなきゃ作れない子になる懸念
0631デフォルトの名無しさん
2009/06/24(水) 01:04:270632デフォルトの名無しさん
2009/06/24(水) 02:26:45static だらけになるのなら、考え方に何か問題がある可能性もあるけど、
少なくなっちゃう分には、無理に増やす必要もないんじゃない?
0633デフォルトの名無しさん
2009/06/24(水) 08:04:04ー 定数
ー スレッドの状態に依存しないUtil
ー 環境全体で一つしか存在しないもの(singleton)
0634デフォルトの名無しさん
2009/06/24(水) 08:37:05それでStringのコンストプール又はintern()を変更できるの?
0635デフォルトの名無しさん
2009/06/24(水) 08:38:41jniとかそういうこと?ん?
0636デフォルトの名無しさん
2009/06/24(水) 09:12:26Arraylist listをclearしたらどうしてもNullPointerExceptionが起きる
何故だろう?どうすればいいんだろう?
0637デフォルトの名無しさん
2009/06/24(水) 09:19:26まずはどこで起きているかスタックトレースを見てみるんだ。
0638デフォルトの名無しさん
2009/06/24(水) 09:22:16listをclearしようとする前にlist==nullじゃないか?
listにArrayListのインスタンスをちゃんと代入してる?
ArrayList list;
list.clear();
みたいなことしていない?
0639デフォルトの名無しさん
2009/06/24(水) 09:24:47フィールドとして宣言しているなら通るので、そうなってたりしない?
0640デフォルトの名無しさん
2009/06/24(水) 09:25:00ボタンをクリックすると要素を全削除するようにしたい
しかし、アプレットはmainがなくてメソッドに引数としてArrayListを渡す方法がよく分からない
そこでグローバル変数としてArrayList list〜としたのだが
今やってみたところaddでもclearでも
init内でも他のメソッド内でもぬるぽってしまう
という状況です
0641デフォルトの名無しさん
2009/06/24(水) 09:25:15file = うんたら;
うんたら;
うんたら;
}catch(省略){ file.Close(); }
みたいなトラブルか
0642636
2009/06/24(水) 09:28:14レスをつける前にスレをリロードしておくべきでした
本当に恥ずかしい話なのですが、>>638の通りでした
こんな話にアドバイスを下さって本当にありがとうございました
0643デフォルトの名無しさん
2009/06/24(水) 09:52:16日本語が理解できないのでソース貼れ
0644デフォルトの名無しさん
2009/06/24(水) 10:05:57>>642
0645デフォルトの名無しさん
2009/06/24(水) 12:28:210646デフォルトの名無しさん
2009/06/24(水) 13:03:42試してみた。
$ java -version
java version "1.5.0_19"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_19-b02-304)
Java HotSpot(TM) Client VM (build 1.5.0_19-137, mixed mode, sharing)
//import java.lang.reflect.Field;
char[] data = { 'a', 'b', 'c' };
String s = new String(data); // (1)
//String s = new String(data).intern(); // (2)
//String s = "abc"; (3)
Field valueField = String.class.getDeclaredField("value");
valueField.setAccessible(true);
char[] value = (char[])valueField.get(s);
value[0] = 'X';
System.out.println(s);
(1)は変更可能で Xbc と出力。
(2)と(3)はぬるぽになった。
0647デフォルトの名無しさん
2009/06/24(水) 15:47:35intern()について深く知ってる人いないみたいだし。
0648デフォルトの名無しさん
2009/06/24(水) 16:33:30そのためのsetAccessible(true)
0649デフォルトの名無しさん
2009/06/24(水) 17:01:45でもそれってクラスローダについて深く知らないと結局意味ないじゃん。
クラスローダの仕組みを例題も交えて分かりやすく説明しているところがないんだよね・・・・
あれこれ設定するのも面倒だし結局全部おkでいいかなって思う。
0650626
2009/06/24(水) 19:20:21オイラは就職活動で疲れたので、今日はもう寝る
また、聞きたいことがあったら質問するよ
0651デフォルトの名無しさん
2009/06/24(水) 19:57:52大概の事ならなんでも答えられるから聞いてくれ
0652デフォルトの名無しさん
2009/06/24(水) 20:21:450653デフォルトの名無しさん
2009/06/24(水) 20:22:45さあ知ってる奴らどんどん書き込んでやってくれ
0654デフォルトの名無しさん
2009/06/24(水) 21:14:510655デフォルトの名無しさん
2009/06/24(水) 22:05:29class ThreadsRun extends Thread implements Runnable {
@Override
void run() {}
}
public class main() {
ThreadsRun t = new Thread();
t.run();
}
とかになるの?
0656デフォルトの名無しさん
2009/06/24(水) 22:09:29じゃねえと駄目だろ
0657デフォルトの名無しさん
2009/06/24(水) 22:11:130658デフォルトの名無しさん
2009/06/24(水) 22:17:590659655
2009/06/24(水) 22:32:02>>656
書き込んだあとで気がついたぜ。
すばらしき理解不足。
>>657
なるほど。
---javadoc
java.lang.Object
上位を拡張 java.lang.Thread
すべての実装されたインタフェース:
Runnable
---
確かに書いてあった。
>>658
もうちっと勉強してから理解しますw
0660デフォルトの名無しさん
2009/06/24(水) 22:34:180661デフォルトの名無しさん
2009/06/24(水) 22:42:120662デフォルトの名無しさん
2009/06/24(水) 22:43:340663デフォルトの名無しさん
2009/06/24(水) 23:01:540664デフォルトの名無しさん
2009/06/24(水) 23:33:042chならここしかないみたい。
とりあえず、聞いてみたら?
0665デフォルトの名無しさん
2009/06/24(水) 23:44:02hibernate関連でコネクションプーリングを使ってるんですけど(c3p0使ってます),
statement cacheを有効にすると、〜〜DEAD LOCK!という警告メッセージが出るので、
statement cacheは0を指定して無効にしてるんですが、
一般的なprepared statementキャッシュの考えとして、
コネクションを再利用し、使ったらプールに戻すという考え方と、
コネクションはプールから取得するが、使ったら破棄してプール内で生成しておくという考え方の2つがあると思ってます。
今回は前者を無効にするのですが、後者のメリットがあまりないように感じられるんです。
プールせずに結局生成するなら直接取っても同じじゃないかと。
一般的な最良のパフォーマンスが得られるコネクションプーリングはどのようにやってるんでしょうか。
0666デフォルトの名無しさん
2009/06/24(水) 23:48:100667デフォルトの名無しさん
2009/06/24(水) 23:52:09ひどい奴だなおまえは・・・
0668デフォルトの名無しさん
2009/06/25(木) 00:27:08}
class Test {
public static void main(String[] argv) {
C1 c = new C1();
System.out.println(c.clone().toString());
}
}
% javac Test.java
Test.java:23: clone() は java.lang.Object で protected アクセスされます。
System.out.println(c.clone().toString());
^
エラー 1 個
Test は Object のサブクラスだから、protected な clone() を呼べると思った
のですが、怒られました。ヒントをください。
0669デフォルトの名無しさん
2009/06/25(木) 00:35:020670デフォルトの名無しさん
2009/06/25(木) 00:39:320671デフォルトの名無しさん
2009/06/25(木) 00:43:40Test は Object のサブクラスだから、protected な clone() は呼べない
ヒントは言語仕様
0672670
2009/06/25(木) 00:44:360673デフォルトの名無しさん
2009/06/25(木) 00:54:23ありがとうございます。
http://java.sun.com/docs/books/tutorial/java/javaOO/accesscontrol.html
...
The protected modifier specifies that the member can only be accessed within its own package (as with package-private) and, in addition, by a subclass of its class in another package.
...
と書いてあって、Object のサブクラス Test から Object#clone() を呼べそう
に思えるのですが、うーむ、何を勘違いしているんだろう。
0674デフォルトの名無しさん
2009/06/25(木) 01:10:340675デフォルトの名無しさん
2009/06/25(木) 01:54:09public class C1 {
public void doHoge() {
// これはOK(例外は起きるけどな)
C1 copy = this.clone();
}
}
public class Foo {
public void doFoo() {
// これはコンパイルエラー
C1 c = new C1().clone();
}
}
これでわかるだろ?
0676デフォルトの名無しさん
2009/06/25(木) 03:06:130677デフォルトの名無しさん
2009/06/25(木) 03:45:47いかんせん時間が無くてパーフェクトとは言い難い感じだ
やっぱり職業プログラマはこういうとこ割り切っていってるのかな
「ソースも動作も非常に満足いく結果だが、時間がかかる」よりも
「どこか引っかかるが、要求された動作は満たすし見たところバグも取り除いてある。完成早い」
というように。
0678デフォルトの名無しさん
2009/06/25(木) 04:00:13ゴミでも完成していると言わざるを得ないが正解
0679デフォルトの名無しさん
2009/06/25(木) 04:17:080680デフォルトの名無しさん
2009/06/25(木) 08:11:20納期◎ 仕様○ バグ収束△ コード品質△ コメント×
プロジェクトのコーディング規約には沿ってるけど、その枠内で遊んでるのが多い印象。
0681デフォルトの名無しさん
2009/06/25(木) 14:42:08クッキーが書き込まれるのですけど、セッションを開始したときに、
JSSESIONIDという名前でクッキーが作られると説明があるのですけど、
探してもJSESSIONIDという名前のクッキーは作成されていません。
でも、確かにセッションは開始されていて有効に動作します。
いったい、どこに保存されているのでしょうか。
0682デフォルトの名無しさん
2009/06/25(木) 17:07:11JSESSIONIDって言うnameのCokkieなんだよ
JSESSIONID=hoge とかGETなら分かりやすく見えるしPOSTならHTTPヘッダ見てみろ
この場合Cokkie c = util.get("hoge");などとなる
0683デフォルトの名無しさん
2009/06/25(木) 17:19:33Windowsのフォルダのどこにもないんですよね。
検索したけどないです。
メモリー上とかにあるんでしょうか。
たしかに、どこかにあるんですけど、ありかを見たいんです。
0684デフォルトの名無しさん
2009/06/25(木) 17:32:40プロジェクト1つ。それとservletでプロジェクト1つ。合わせて2つあります。
各プロジェクトの中には、.javaと.classがあって、さらにservletのほうは
WebContentフォルダがあって、その中にWEB-INFがあって、その中に、
web.xmlがあります。サンプルプログラムが増えてきたので、
例えばいま50個のservletがあるとして、10個づつ5つの処理単位に
分けられるとして、分けたいとしたときに、
プロジェクトの内部で、そのように分けることが出来るのでしょうか。
新たにプロジェクトを作れば全部一式揃うので出来ると思うのですけど。
普通、どのように管理しているものなのでしょうか。
0685デフォルトの名無しさん
2009/06/25(木) 17:39:59HttpServletRequest.getParameter(JSESSIONID);
で取るんだよ?
つまりローカルにはない
HttpServletRequest.getParameter(JSESSIONID); # こいつがクッキーの名前
0686デフォルトの名無しさん
2009/06/25(木) 17:45:41今イチ意味がわからんw
packageレベルでないなら、リファクタリングの移動でいいんでないの?
意味違ってたらごめん。
0687デフォルトの名無しさん
2009/06/25(木) 18:02:030688デフォルトの名無しさん
2009/06/25(木) 18:05:26効率良い方法を教えてください
Integer[][]にならtoArrayで一発コピー出来たんだけれど
int[][]には使えなかったです
0689デフォルトの名無しさん
2009/06/25(木) 18:18:04java.lang.System#arraycopy
0690デフォルトの名無しさん
2009/06/25(木) 18:23:32質問していることはJavaというより、開発ツールやサーバーのことに
なっていたと思います。よく分からないのですけど、今はそこらは
無視して、中身の勉強を進めようと思います。ありがとうございました。
0691デフォルトの名無しさん
2009/06/25(木) 19:03:59java.lang.ArrayStoreExceptionでコピーできませんでした
0692デフォルトの名無しさん
2009/06/25(木) 19:05:280693デフォルトの名無しさん
2009/06/25(木) 19:08:57ソースは?
てかString[]からint[][]にしたいんであればString[]がなんなのか知りたいし
内容によっちゃWrapperMethodがいるでしょ
0694デフォルトの名無しさん
2009/06/25(木) 19:16:39勝手に型変換してくれないのに#arraycopyでコピーできるはずもない
0695デフォルトの名無しさん
2009/06/25(木) 19:23:40のですが、そのサーブレットがtomcat5.5\workの中に出来ているらしい
のですが、なぜが私のにはworkの中にありません。どこにも見当たらないです。
でも実行は出来るので、どこかに出来ていると思うのですけど、
心当たりはないでしょうか。
0696デフォルトの名無しさん
2009/06/25(木) 19:33:57ArrayList型の変数alにString[]のデータが入ってます
Stringデータは、0-1000までの整数(の文字列)です
for (int i = 0; i < al.size();i++)
{
System.arraycopy(al[i], 0, numbersData[i], 0, al[i].size());
}
0697デフォルトの名無しさん
2009/06/25(木) 19:35:42numbersDataはint[][]型の配列です
0698デフォルトの名無しさん
2009/06/25(木) 20:38:45Test は Object のサブクラスだからという理由だけでは、protected な clone() は呼べない
ヒントは言語仕様
0699デフォルトの名無しさん
2009/06/25(木) 20:38:570700デフォルトの名無しさん
2009/06/25(木) 20:58:10javaはoverrideするときにアクセスのスコープを広げる方向に変更することが出来る。
Object.cloneは浅いコピーのみを行うので、
実際に必要なコピー処理はoverrdeして記述する必要がある。
0701664
2009/06/25(木) 21:13:40よくわからんがc3p0のstatement cacheには問題があるみたいね。
http://hide-t.vox.com/library/post/c3p0%E3%81%A8mysql%E3%81%AEreplicationdriver.html
後者のメリットは、
呼び出し→コネクション開く→クエリ実行
と
コネクションを開いておく→呼び出し→→クエリ実行
の違い。
コネクション開くコストがなくなる。
一般的にはc3p0なんて使わずに、
WASのコネクションプールを使う。
0702デフォルトの名無しさん
2009/06/25(木) 21:50:460703デフォルトの名無しさん
2009/06/25(木) 21:57:370704デフォルトの名無しさん
2009/06/25(木) 22:04:420705デフォルトの名無しさん
2009/06/25(木) 22:17:51サーバーからの応答メッセージを見ると、Content-Encoding: gzipと書いてあります
GZIPInputStreamを使わなくても、特に支障はないと感じたのですが
GZIPInputStreamを使った方がいいと思いますか?
0706デフォルトの名無しさん
2009/06/25(木) 22:20:04自前で実装する以外ない。
0707デフォルトの名無しさん
2009/06/25(木) 22:35:080708デフォルトの名無しさん
2009/06/25(木) 22:50:53レスとんくすです。
hibernateのオフィシャルにはc3p0が標準みたいなことが書いてあるんですけど、
世間一般では違うのかなぁ。
サーバがWASだったりJBOSSだったりTomcatだったりと色々あるのでWASのプーリングは使えないです。
とりあえずDBCPを使う方向で検討してみます。
0709デフォルトの名無しさん
2009/06/25(木) 23:04:08自分で開放したいときには代わりに何を使えば?
0710デフォルトの名無しさん
2009/06/25(木) 23:04:560711デフォルトの名無しさん
2009/06/25(木) 23:11:12そーゆー場合はどーなんだろ?
ふつーはWASのコネクションプーリングを使うよってことが言いたかったんだけど。
http://itpro.nikkeibp.co.jp/article/COLUMN/20051116/224704/
みると
>Hibernateは,コネクション・プーリングの仕組みを標準で提供していますが,
>機能としては原始的であり,実運用では利用すべきではありません。
ってあるけど2005年の記事だしなぁ。
どーせJNDIでルックアップするんだし、
設定ちょこっと代えるだけで各WASに対応できるんじゃない?
0712デフォルトの名無しさん
2009/06/25(木) 23:35:17どうやったら、コピペできるようになるのさ?
教えて、エロい人!!
0713デフォルトの名無しさん
2009/06/26(金) 00:00:04ジャヴァスクリプトはスレ違いですよ?!
0714デフォルトの名無しさん
2009/06/26(金) 00:16:22if〜elseで小数を使って2つの結果に判別したいのですがどうすればいいの?
0715デフォルトの名無しさん
2009/06/26(金) 00:22:300716デフォルトの名無しさん
2009/06/26(金) 00:28:20これでいいのか?
double a = 0.1;
if (a >= 0.5) {
System.out.println("0.5以上");
} else {
System.out.println("0.5未満");
}
0717デフォルトの名無しさん
2009/06/26(金) 00:38:150718714
2009/06/26(金) 00:44:05class aaa
{
public static void main(String args[ ]) throws IOException
{
System.out.println("0.0〜1.0の小数を入力してください。");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
double a = Integer.parseInt(str);
if(a <= 0.5){
System.out.println("大きい");
}
else{
System.out.println("小さい");
}
}
}
こんな感じで作ってみたんだけど何がおかしいのかな?
0719デフォルトの名無しさん
2009/06/26(金) 00:52:450720デフォルトの名無しさん
2009/06/26(金) 00:56:15int a = Integer.parseInt(str);
なら、意味がわかるってことね。
parseIntの文字通り、String型をint型に変換するってーわけだから。
0721668
2009/06/26(金) 00:59:38>>675
>>698
>>700
みなさま、ありがとうございます。
ようやく理解できました。
>>668 において、C1 が Test のサブクラスでないから、コンパイラに怒られたのですね。
http://java.sun.com/docs/books/jls/third_edition/html/names.html#6.6.2.1
...
Let C be the class in which a protected member m is declared. Access is permitted only within the body of a subclass S of C. In addition, if Id denotes an instance field or instance method, then:
If the access is by a field access expression E.Id, (略) where E is a Primary expression, then the access is permitted if and only if the type of E is S or a subclass of S.
...
Test の中から c.clone() の形の呼出しで Object#clone() にアクセスできるのは、c の型が Test か Test のサブクラスのときだけ。パッケージを超えて、protected なものにアクセスする際、登場するクラスはみな一直線に並んでないといけないのですね。
0722デフォルトの名無しさん
2009/06/26(金) 01:06:03gzipを展開する必要がないなら使う必要はない。
0723デフォルトの名無しさん
2009/06/26(金) 01:10:42>>719
>>720
みなさまのレスにより理解しました。
ありがとうございます。
0724デフォルトの名無しさん
2009/06/26(金) 01:28:510725デフォルトの名無しさん
2009/06/26(金) 01:30:050726デフォルトの名無しさん
2009/06/26(金) 02:30:28事実上、無いと思った方がよい。
>>710
finalizeは使うなって、ばっちゃが言ってた。
0727デフォルトの名無しさん
2009/06/26(金) 02:34:240728デフォルトの名無しさん
2009/06/26(金) 07:36:52アプリ終了時に後始末しろって感じで。
こういうのもJavaでは変なのかな?
0729デフォルトの名無しさん
2009/06/26(金) 08:20:52デストラクタとは違うんで最終的名保険以外の用途で使ってはならない
0730デフォルトの名無しさん
2009/06/26(金) 08:30:06そーゆーのは 1.3より前を考慮しなきゃいけない時以外は
Runtime#addShutdownHook(Thread) でできる。finalize() でやるよりは確実。
0731デフォルトの名無しさん
2009/06/26(金) 08:36:44それはまた別の用途だろ・・・すべての処理するインスタンスの参照を保持してろって話になるぞ
0732デフォルトの名無しさん
2009/06/26(金) 08:39:090733デフォルトの名無しさん
2009/06/26(金) 08:42:49★翌日入金
★2009年最新在宅ワーク!★☆
http://diet.point.bz/infotype/
0734デフォルトの名無しさん
2009/06/26(金) 08:47:01アプリ終了時に finalize() が動くのを期待する場合もインスタンスの参照はどっかに残ってないといけない。
0735デフォルトの名無しさん
2009/06/26(金) 09:18:29そもそもfinalizeが動くことを期待してはいけない
finalizeはインスタンスの参照がないと動かないってソースよろしく
0736デフォルトの名無しさん
2009/06/26(金) 13:42:21jdk-6u14-windows-i586.exeとpleiades-all-in-one-java_20090329.zip
をインストールしてパスの設定もやったのですが実行すると
エディターにはメイン型が含まれていません、と出て実行することが
できません。原因が分かる方教えて頂けませんか?
0737デフォルトの名無しさん
2009/06/26(金) 13:44:060738デフォルトの名無しさん
2009/06/26(金) 13:45:190739デフォルトの名無しさん
2009/06/26(金) 13:47:590740デフォルトの名無しさん
2009/06/26(金) 13:53:11英語のメッセージも意味不明だから同罪。
0741736
2009/06/26(金) 15:42:48MS-DOSだと実行できるのにEclipseだとやっぱり
エディターにはメイン型が含まれていません
と表示されてしまいます。助けてください。
0742デフォルトの名無しさん
2009/06/26(金) 15:53:29エスパー登場を待つか、どういう手順でやったらどんなエラーが出たか書くかどっちを選べ
0743736
2009/06/26(金) 16:05:48ここを参考にして同じようにやってみてるんですが上手くいきません。
エラーメッセージはエディターにはメイン型が含まれていません
と出ます。
0744デフォルトの名無しさん
2009/06/26(金) 16:08:08ソースをEclipseから、コピペして、ここに貼ってみろ。
0745デフォルトの名無しさん
2009/06/26(金) 16:08:21起動しようとしているクラスにmainがないんじゃね?
0746736
2009/06/26(金) 16:31:27ソースはこれです。
public class Java01{
public static void main(String args[]) {
System.out.println("ほぷしぃへようこそ");
}
}
ファイル→新規→プロジェクト→次へ→プロジェクト名を「Project」
ファイル→新規→ファイル→ファイル名をJava01にしてやってます。
0747デフォルトの名無しさん
2009/06/26(金) 16:34:160748デフォルトの名無しさん
2009/06/26(金) 16:44:28-cp .
0749デフォルトの名無しさん
2009/06/26(金) 16:45:350750748
2009/06/26(金) 16:46:020751736
2009/06/26(金) 16:51:35ここ見たらクラスの作成というのが必要だということが分りました。
で、やってみたらちゃんと表示されたわけですがこの作業は
絶対必要で皆さんも毎回やってるのでしょうか?
それと、http://www.isl.ne.jp/pcsp/JavaToYou/java_03_02.html に
クラス作成のことが書いてなかったのは何故なんでしょうか?
0752デフォルトの名無しさん
2009/06/26(金) 16:52:33左側のPackageペインで、ツリーのどの部分にJava01.javaが表示されている?
0753デフォルトの名無しさん
2009/06/26(金) 16:53:47パッケージ・エクスプローラーと表記されているかも。
0754デフォルトの名無しさん
2009/06/26(金) 17:04:53野良サイトが全部正しいわけないだろ、なぜかは直接聞いてくれ
0755736
2009/06/26(金) 17:34:52ちゃんと表示されましたが、皆さんはeclipse使う時にはクラスの作成を毎回やってるのでしょうか?
それと答えてくださった皆さん本当にありがとうございました。
0756デフォルトの名無しさん
2009/06/26(金) 17:56:08[[ノート:サーターアンダーギー]]
確かめもせず、名前を見ただけで差し戻すようでは、すでにかなりの反感を抱いているようだ。
0757デフォルトの名無しさん
2009/06/26(金) 17:56:29誤爆
0758デフォルトの名無しさん
2009/06/26(金) 17:56:42単体なら自動ビルドにしとけばいいだろ
0759デフォルトの名無しさん
2009/06/26(金) 18:09:04わざわざファイル作成でやるキモい人は聞いたことない
0760デフォルトの名無しさん
2009/06/26(金) 19:53:08<>はジェネリックだよね
0761デフォルトの名無しさん
2009/06/26(金) 20:00:35文字通り「なにか」
0762デフォルトの名無しさん
2009/06/26(金) 20:01:03ワイルドカード
どんな型でも許すことを意味する。
0763デフォルトの名無しさん
2009/06/26(金) 20:07:38本番業務で24時間365日停止できないところへ投入する予定なんですけど・・
0764760
2009/06/26(金) 20:08:19ワイルドカードなら*もありな気がしたけど、まぁいいや
>>761-762トンクス
0765デフォルトの名無しさん
2009/06/26(金) 20:12:05その逆よりは遙かに安全だと思う。
でも信頼性が必要ならテストしないと。
0766デフォルトの名無しさん
2009/06/26(金) 20:12:06Class と Class<?> と Class<Object> の違いがわかればジェネリックの最初の壁を突破
0767デフォルトの名無しさん
2009/06/26(金) 20:13:281.6で稼働させるなら、素直に1.6でコンパイルしろよ
わざわざ1.4でコンパイルする意味がわからん
0768デフォルトの名無しさん
2009/06/26(金) 20:14:020769デフォルトの名無しさん
2009/06/26(金) 20:15:371.6の環境への移行テストが必要。
移行テストの工数もらえないなら、何か起こったらそっちの責任という念書もらっとけ。
0770763
2009/06/26(金) 20:43:31今回はロジックに手を入れることができなかったため1.4のままコンパイルということになりました。
VM6.0の機能を使った監視ソフトのためにVMだけあげることになりました。
テストなしっていうのはやっぱり怖いですね。
一般的にはコンパイル時と実行時に違うバージョンで動かすことってあまりないんですかね。
0771デフォルトの名無しさん
2009/06/26(金) 20:47:16予約語は、javac -source 1.4 ですむけど。
0772763
2009/06/26(金) 20:50:10廃止になったクラス使ってたらロジックに手を入れざるをえないか・・
0773デフォルトの名無しさん
2009/06/26(金) 20:55:51入念なガバレージ100テストに勝るものはないね。
人間の頭のロジック展開には限界があるね。
テストの重要性を認識したらいいね。
0774デフォルトの名無しさん
2009/06/26(金) 20:57:320775デフォルトの名無しさん
2009/06/26(金) 21:03:54システム開発もあるしね。恐ろしくて簡単には入れ込めないよね。
そういうシステムには通常同一のテスト実行環境があるから、
そこでテストしないとやばいよ。
0776デフォルトの名無しさん
2009/06/26(金) 21:07:08class Exp {
public static void main(String args[]) {
int[] ary = new int[3];
ary[4] = 10;
}
}
$ javac Exp.java // エラーなし
$ java Exp
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4
at Exp.main(Exp.java:4)
初期化した配列外の領域に代入しようとしていることは自明なのに、
なぜjavacの段階でコンパイラはエラーを吐かないのですか?
0777デフォルトの名無しさん
2009/06/26(金) 21:35:170778デフォルトの名無しさん
2009/06/26(金) 21:50:210779736
2009/06/26(金) 21:53:28ファイル→新規→クラスが絶対必要ってことで合ってますか?
0780デフォルトの名無しさん
2009/06/26(金) 22:17:07そんな感じで良いんじゃないですか。
面倒ならツールバーにあるクラス作成アイコン「新規 Java クラス」でもクリックしてください。
後はもう、Javaなんて言語は見なかったことにして他の何かを始めると良いですよ。
0781デフォルトの名無しさん
2009/06/26(金) 22:18:270782デフォルトの名無しさん
2009/06/26(金) 22:20:170783デフォルトの名無しさん
2009/06/26(金) 22:20:47けどメッチャ楽。
Javaのファイル名縛りとか継承とか実装とか至れり尽くせりだし。
0784デフォルトの名無しさん
2009/06/26(金) 22:38:14生きているらしいのですけど、インスタンスが終了するのは
どんなときなんでしょうか。
0785デフォルトの名無しさん
2009/06/26(金) 22:39:360786デフォルトの名無しさん
2009/06/26(金) 22:41:420787デフォルトの名無しさん
2009/06/26(金) 22:42:33あながち間違っているといえないのが困る
0788デフォルトの名無しさん
2009/06/26(金) 22:52:15既に堕落してますが何かw
Eclipse以前は、IDEなんてデカくて重いだけの素人向け環境だと思ってたのに……。
0789デフォルトの名無しさん
2009/06/26(金) 23:00:32エディターよりIDE選ぶのは当然だし
IDEの中でも効率良いの選ばなきゃね
0790デフォルトの名無しさん
2009/06/26(金) 23:06:080791デフォルトの名無しさん
2009/06/26(金) 23:07:36こんな風にメソッドに切り出しても自明ってなら是非コンパイラを改修して欲しい
static void doAccess(int[] array) {
array[4] = 10;
}
0792デフォルトの名無しさん
2009/06/26(金) 23:08:15クラス名が*Reader&*Writerが文字、*input*&*output*がバイナリでおkだよな?
*input*&*output*にStreamがつかないのは、全部抽象クラスでいいんだよな?
0793デフォルトの名無しさん
2009/06/26(金) 23:09:390794デフォルトの名無しさん
2009/06/26(金) 23:15:220795デフォルトの名無しさん
2009/06/26(金) 23:44:590796デフォルトの名無しさん
2009/06/26(金) 23:56:24RuntimeExceptionとそれ以下のサブクラスとそれ以外ってレベルでもいいけど
俺は携帯厨だから解説まんどくせ
0797デフォルトの名無しさん
2009/06/27(土) 00:12:02開いたオブジェクトは片っ端からweekreferenceMapに登録しておいて、
跡でまとめて閉じるってやり方ってどうなのかな?
やっぱり各自で漏れないように閉じてもらうべき?
0798デフォルトの名無しさん
2009/06/27(土) 00:24:40使い終わったら使ったヤツがすぐに片付けろよ
0799デフォルトの名無しさん
2009/06/27(土) 00:30:38気付かないだけでなにか問題がおきているのだろうか
0800デフォルトの名無しさん
2009/06/27(土) 07:24:260801デフォルトの名無しさん
2009/06/27(土) 07:55:01ファイルだと別のプロセスがファイルを開けずにロック
とか十分に考えられる
ちなみに、フレームワークでcloseしているとかは別だからなー
0802デフォルトの名無しさん
2009/06/27(土) 08:58:11Webアプリケーションで複数同時アクセスがあると未closeのconnectionのせい
で新たなconnectionが作れずタイムアウト。
しばらく待つといつの間にかcloseされてok、てのが最近見付かった。
0803デフォルトの名無しさん
2009/06/27(土) 09:38:31変更できない仕様にする思想的な背景を教えてください。
それと、BigIntegerとかにあるaddやmultipleみたいなのを
インターフェイスにしてIntegerでやDoubleにも実装して
使えるようにした方が便利だと思うのですが
あえてそうしない思想的な背景を教えてください。
0804デフォルトの名無しさん
2009/06/27(土) 09:40:270805デフォルトの名無しさん
2009/06/27(土) 09:58:440806デフォルトの名無しさん
2009/06/27(土) 10:01:09イミュータブルでググってみたら?
0807デフォルトの名無しさん
2009/06/27(土) 10:03:09変わるでしょう。
現在、他のスレッドがあるかどうかで、synchronizedの動作が変わるわけじゃないし、
シングルスレッドのつもりでも、Java VMは普通は複数のスレッドで動作しているし。
0808デフォルトの名無しさん
2009/06/27(土) 10:13:14あなた面白いことを考えますね。
宿題ですか。でなければ、自分の宿題にしてもいいと思いませんか?
Javaが影響を受けた言語、同時期のほかの言語やオブジェクト指向の発達を調べてレポートに…
>>805
シングルスレッドを同期対応クラスを使うデメリットは、といったところか。
1スレッド1回の同期コスト自体は大きく無いので、競合状態にならないのであれば、
非同期ブロックとの実行時間差は気にしなくても良い。
0809デフォルトの名無しさん
2009/06/27(土) 10:21:55StringBufferとStringBuilderの主な違いは、メソッドがsynchronizedされているかいないかです。
Java 1.4 までは、StringBufferしかありませんでしたが、Java 1.5になってStringBuilderが追加されました。
文字列を作成するときに、ほとんどの場合は同期が不要なのに対し、
StringBufferでは同期処理が行なわれる分、遅いからです。
0810デフォルトの名無しさん
2009/06/27(土) 11:02:20情報科のお勉強は大学でやりましょうね。
0811デフォルトの名無しさん
2009/06/27(土) 13:40:51分かりやすい?それとも単に冗長になって分かりにくくなるだけ?
具体的には、例えば(1)と(2)がどっちが一般的?
(1)
byte[] bytes = {
(byte)(i >>> 24),
(byte)(i >>> 16),
...
(2)
byte[] bytes = {
(byte)( ( i >>> 24) & 0xFF) ),
(byte)( ( i >>> 16) & 0xFF) ),
...
0812デフォルトの名無しさん
2009/06/27(土) 13:44:290813デフォルトの名無しさん
2009/06/27(土) 14:41:57一般的かどうかはしらんが、(1) でいいじゃね。
0814デフォルトの名無しさん
2009/06/27(土) 15:34:45byte[] byteData = val.getBytes("ISO_8859_1");
str = new String(byteData, "Shift_JIS");
GETでもPOSTでも、こうすれば文字化けしないんでしょうか。
0815デフォルトの名無しさん
2009/06/27(土) 15:35:49byte[] byteData = str.getBytes("ISO_8859_1");
str = new String(byteData, "Shift_JIS");
でした。
0816デフォルトの名無しさん
2009/06/27(土) 15:51:470817デフォルトの名無しさん
2009/06/27(土) 16:24:51jakarta projectにライブラリあるよ
0818デフォルトの名無しさん
2009/06/27(土) 17:10:010819デフォルトの名無しさん
2009/06/27(土) 17:20:540820デフォルトの名無しさん
2009/06/27(土) 17:42:20鬱陶しいのでexeを消したら表示されなくなりました。
これは何者ですか。
0821デフォルトの名無しさん
2009/06/27(土) 18:14:46JDKをアップデートしたら、IEは立ち上げなおせという話。これは違う?
0822デフォルトの名無しさん
2009/06/27(土) 20:42:44return 条件1?trueの戻り値:条件2?trueの戻り値:flaseの戻り値
みたいにreturnの後に三項演算子のネストをしている人がいたんだけど、
これって普通に誰でもやっていることなの?
0823デフォルトの名無しさん
2009/06/27(土) 21:05:09俺は後者の方がいいけど
return foo.isisXX ? true : bar.isXX ? true + false;
if(foo.isXX)
return true;
return bar.isXX;
0824デフォルトの名無しさん
2009/06/27(土) 21:12:090825デフォルトの名無しさん
2009/06/27(土) 21:16:230826デフォルトの名無しさん
2009/06/27(土) 21:18:35そうなのか、thx
これを書いた人にメールーしたら、wwwみたいな返事帰って来たから
0827デフォルトの名無しさん
2009/06/27(土) 21:25:52そんな相手とメールのやり取りするなよ
0828デフォルトの名無しさん
2009/06/27(土) 21:26:21例えば、2ch.netみたいな文字列をチェックする時とか
ドットはエスケープすればいいんだから、\\.でいいんだよな?
一応自分でもテストしてみたが、心配で心配で
0829デフォルトの名無しさん
2009/06/27(土) 21:42:150830デフォルトの名無しさん
2009/06/27(土) 21:47:43すまん
普段はUS配列で打ってるんでつい確認せずに書いてしまった…
US配列だとShift+;らへんが:なんよ
0831デフォルトの名無しさん
2009/06/27(土) 21:52:04あなたのコードは変ですってメールしたのか?
そりゃwwwされるだろ
0832デフォルトの名無しさん
2009/06/27(土) 21:56:37三項演算子のネストだったのかorz一瞬、何やっているかわからんかったと送った
コードを書いた人は知り合いです
0833デフォルトの名無しさん
2009/06/27(土) 22:00:23thx
0834デフォルトの名無しさん
2009/06/27(土) 22:01:07Cじゃ割と普通にやるよ。
return hoge ? 1 :
fugo ? 2 :
fuga ? 3 :
/*else*/ 4;
なんてふうに改行して書くと、
場合によってはすっきりさっぱりかけることもある。
0835デフォルトの名無しさん
2009/06/27(土) 22:10:12俺もこれから「PerlのOOPでは……」って
持ち出してやろうかしらん
0836デフォルトの名無しさん
2009/06/27(土) 22:12:54これからもそういうコードに出会うと思う
それを見た時に読み難いと思ったなら
自分は同じように書かなければ良いだけ
0837デフォルトの名無しさん
2009/06/27(土) 22:21:50読まされてて胃が痛い。
0838デフォルトの名無しさん
2009/06/27(土) 22:22:04おまえはもうこのスレに来なくていい
0839デフォルトの名無しさん
2009/06/27(土) 22:23:050840デフォルトの名無しさん
2009/06/27(土) 22:26:470841デフォルトの名無しさん
2009/06/27(土) 22:29:300842デフォルトの名無しさん
2009/06/27(土) 22:30:18教えてgoo等でもそんな答えを見つけて、OSごと再起動してみたけど、やっぱりダメでした。
Javaの動作には関係ないですよね。
0843デフォルトの名無しさん
2009/06/27(土) 22:53:19最近のオープンソースのフレームワークなんかではバイトコードいじりが流行っているようで、
ソースの中にjavaのソース書きまくりだったりしてデバッグ・トレースがまじでやりにくい。
問題がなければいいんだろうけど、不具合があったらまじでわからんから
0844デフォルトの名無しさん
2009/06/27(土) 22:55:24それなら使わなければ良いし
どうにかしたいなら自分でパッチを書いて送れば良い
そういうもんだろ?
0845デフォルトの名無しさん
2009/06/27(土) 23:00:16そういうもんだよ
0846デフォルトの名無しさん
2009/06/28(日) 00:29:42値が変更できない(immutableである)というのは、処理系にとって都合のいい性質だから。
値が変わらないので、
・同じ値のオブジェクトが複数現れたとき、1つにまとめることができる。実際、文字列
リテラルや、-128〜127の範囲のInteger(これはSunのJavaVMだけ?)は、値が同じなら同
じオブジェクトを指している。
・最適化の自由度(ループの外に追い出す、処理順序を入れ換えるなど)が高くなる。
・同一オブジェクトを共有するスレッド間で、データの同期を考える必要がない。値が
変わるオブジェクトを共有している場合、それぞれのスレッドが別コアで動いていると
すると、コアとコアとの間に、レジスタ、ライトバッファ、1次キャッシュ、2次キャッ
シュ、CPUによっては3次キャッシュと、更新したデータが届くまでにいくつもの階層を
潜り抜ける必要があるので、大変コストがかかる。
0847デフォルトの名無しさん
2009/06/28(日) 00:46:48-128〜127の範囲のInteger : 言語仕様
0848デフォルトの名無しさん
2009/06/28(日) 00:59:18すげぇな。
さすがJVMの解析やってる人は違うわ。
0849デフォルトの名無しさん
2009/06/28(日) 01:05:58仕様書見れば書いてあるので、解析してる訳じゃないよ
0850デフォルトの名無しさん
2009/06/28(日) 01:35:12「JAVAでゲーム作りますが何か?」のサイトを参考にして
アクションゲームを作っているのですが…当たり判定の部分で躓きました。
サイトにある勇者の画像が「縦横32」というサイズに対して、
使用したい画像が「縦98横64」というサイズです。
画像の左側は当たり判定の必要が無いので、
当たり判定のサイズを小さくしたいのですが、
ブロックのめり込んだときの位置調整で調節をしたところキャラクターがどっかにすっ飛んでいきました。
色々な書籍やサイトで調べたところIsAtariを使って当たり判定を小さくできるようなのですが。
いまいちやり方がわかりません。
どなたかご教授お願いいたします。
もしくは「ロックマン」のようなアクションゲームのソースが置いてあるサイトや書籍などを教えていただけないでしょうか。
0851デフォルトの名無しさん
2009/06/28(日) 01:51:25クラスとかメソッドとか基本は習得されてます?
でなければ出なおすべきでしょう
0852デフォルトの名無しさん
2009/06/28(日) 01:51:382Dの当たり判定なら中学レベルの数学だし。
二つの図形の辺が交差してるかとか図形に共有部があるかとか調べればいい。
0853デフォルトの名無しさん
2009/06/28(日) 02:05:50ご丁寧にありがとうございました。
私自身「15歳からはじめるわくわくJAVAゲームプログラミング」という書籍を読み終えて
自分で色々なプログラム組み合わせてゲームを作ってみようと思っていましたが…
やっぱり難しいみたいですね…orz
0854デフォルトの名無しさん
2009/06/28(日) 02:24:10携帯用のJavaをWindows上でクリックしても動かないので、逆もダメなんですかね。
0855デフォルトの名無しさん
2009/06/28(日) 02:24:300856デフォルトの名無しさん
2009/06/28(日) 02:30:30ならない。
しかもキャリアによって違うよ。
javaだとdocomoかsoftbankなんだけど、
それぞれ作らないといけない。
0857デフォルトの名無しさん
2009/06/28(日) 02:31:470858デフォルトの名無しさん
2009/06/28(日) 02:33:10捉え方を間違えている
0859デフォルトの名無しさん
2009/06/28(日) 02:36:03詳しく教えてください
0860デフォルトの名無しさん
2009/06/28(日) 02:37:11やっぱりそうなんですか。。
言語自体がキャリアごとに異なるんでしょうか。
それとも、ほとんど一緒で一部変えるだけですか?
もし概ね共通なら、Windows用のJavaの教本で勉強して、
あとはキャリア別の違いが載ったような本を見れば
対応できると考えていいでしょうか。
0861デフォルトの名無しさん
2009/06/28(日) 02:42:06うん。
キャリアごとの違いなんて、
基本をしっかり学べばどうとでもなる。
0862デフォルトの名無しさん
2009/06/28(日) 02:49:49それならうれしいです!
やる気が出てきました。
明日さっそく本を買いに言ってきます。
C++とPHPをやった経験があれば覚えやすいかな。
でも新しい言語を覚えると前のを忘れちゃうんです><
0865デフォルトの名無しさん
2009/06/28(日) 02:59:16スレ汚しすみません。
0866デフォルトの名無しさん
2009/06/28(日) 03:01:15もちろん。
他の言語やった経験あったほうが学びやすいよ。
じゃ、がんばって。
0867デフォルトの名無しさん
2009/06/28(日) 06:44:470868デフォルトの名無しさん
2009/06/28(日) 09:55:410869デフォルトの名無しさん
2009/06/28(日) 10:08:33NetBeansとか
0870デフォルトの名無しさん
2009/06/28(日) 10:24:16Netbeans IDE他統合開発環境にはグラフィカルに決めることが出来る道具がある。
0871デフォルトの名無しさん
2009/06/28(日) 11:00:190872デフォルトの名無しさん
2009/06/28(日) 11:15:55一世を風靡したと言って頂きたい
0873デフォルトの名無しさん
2009/06/28(日) 11:18:58あとはシェアで大きく水を開けられているからなぁ。
4,870,000 件 vs 59,100,000 件
まずEclipse-pluginとして作られるし。
0874デフォルトの名無しさん
2009/06/28(日) 11:19:270875デフォルトの名無しさん
2009/06/28(日) 11:21:170876デフォルトの名無しさん
2009/06/28(日) 11:23:23要出典
0877デフォルトの名無しさん
2009/06/28(日) 11:24:18NetBeans重いとか寝言は寝てから(ry
0878デフォルトの名無しさん
2009/06/28(日) 11:39:550879デフォルトの名無しさん
2009/06/28(日) 12:53:030880デフォルトの名無しさん
2009/06/28(日) 12:53:06確かにまだEclipse級ではないが実用できるレベルにはなっているぞ
>878
Classの原型となんかのClass、Effective Java読んで来い
0881デフォルトの名無しさん
2009/06/28(日) 12:58:18意味がまったくない
0882デフォルトの名無しさん
2009/06/28(日) 12:58:43無理。何がしたいのさ
0883879
2009/06/28(日) 13:06:28そこで、変な値が入ってきたらString型の戻り値にnullを返しちゃおうかなと思った
例外を発生させるのもめんどいし
0884デフォルトの名無しさん
2009/06/28(日) 13:07:04ニートばかりだ。
0885デフォルトの名無しさん
2009/06/28(日) 13:20:23>そこで、変な値が入ってきたらString型の戻り値にnullを返しちゃおうかなと思った
それがどうして「StringBuilder.toStringでnullを返す」という発想に繋がるんだろう?
引数チェックして不正な値だったらreturn null でいいんでないの
0886デフォルトの名無しさん
2009/06/28(日) 13:28:19それじゃぜんぜん分からないですけど
0887デフォルトの名無しさん
2009/06/28(日) 13:30:32どうしたらいいですか?
0888デフォルトの名無しさん
2009/06/28(日) 14:01:240889デフォルトの名無しさん
2009/06/28(日) 14:16:38そんなにいくつもあるか??
ttp://www.amazon.co.jp/dp/489471499X
0890デフォルトの名無しさん
2009/06/28(日) 14:23:00どうしたらいいですか?
ご飯食べて外で元気よく遊んで来い。
何の目的があって、そのために何がやりたいのかも書かずにどんな答えを求めてるんだ。
0891デフォルトの名無しさん
2009/06/28(日) 14:30:04public String doHoge(String arg) {
if(arg == null || !arg.matches("pattern")) {
return null;
}
// do something...
}
こういうことじゃないの?
0892デフォルトの名無しさん
2009/06/28(日) 14:47:30仕様上、引数の値が正しくない場合は IllegalArgumentException を使う
これは呼び出し側の責任として処理させる。
0893デフォルトの名無しさん
2009/06/28(日) 16:48:100894デフォルトの名無しさん
2009/06/28(日) 16:59:54Eclipseがなんとか動く1GHz512MBボロPCで、Netbeansは起動やらナビゲータやら
トロトロトロトロトロトロトロトロお待ちくださいだったんで即座に捨てたから、そういう
印象だった。
遅くは無いのか。
シェアの話は、分かると思うけどグーグル先生で Netbeans と Eclipse の検索件数。
プラグインは
netbeans plugin の検索結果 約 835,000 件
eclipse plugin の検索結果 約 3,450,000 件
こっちは4倍か。
0895デフォルトの名無しさん
2009/06/28(日) 17:05:150896デフォルトの名無しさん
2009/06/28(日) 17:17:18初回起動時のNetbeansは起動やらナビゲータやらトロトロトロトロトロトロトロトロお待ちくださいは事実。
0897デフォルトの名無しさん
2009/06/28(日) 17:22:07プロジェクトの情報を一旦全部キャッシュしてるから
その作業が終わるまでは遅い
0898デフォルトの名無しさん
2009/06/28(日) 19:22:500899デフォルトの名無しさん
2009/06/28(日) 20:41:30mixiのコミュ見たときはもう…
0900デフォルトの名無しさん
2009/06/28(日) 20:47:58でも、java se6 api リファレンスの例外の所を見ると、IOExceptionにリンクが張ってあるじゃん
おいらが書いた時はリンクが張られなかったのにorz、どうやったらリンクが張れるのよ?
教えてエロい人!!
0901デフォルトの名無しさん
2009/06/28(日) 20:49:19極力に見ないようにしてるわ
0902デフォルトの名無しさん
2009/06/28(日) 20:49:220903デフォルトの名無しさん
2009/06/28(日) 20:49:25マナーくらい守ってくださいよ
0904デフォルトの名無しさん
2009/06/28(日) 21:23:090905デフォルトの名無しさん
2009/06/28(日) 21:25:43-link オプション使え
0906デフォルトの名無しさん
2009/06/28(日) 21:43:49トンクス
さっそくやってみるわ
0907デフォルトの名無しさん
2009/06/28(日) 23:58:45> AWTとSWINGは今からわざわざ覚える必要は無いかなと思います。
と書かれていますが、初心者向けのJava参考書を見ると大抵Swingが使われています。
それでもSwingをやらずにJSP+Servletというのを学んだほうがいいのでしょうか。
0908デフォルトの名無しさん
2009/06/29(月) 00:02:330909デフォルトの名無しさん
2009/06/29(月) 00:03:40やりたいのはGUIプログラムです。
0910デフォルトの名無しさん
2009/06/29(月) 00:05:10モロWebだw
0911デフォルトの名無しさん
2009/06/29(月) 00:12:21ある程度分かってきたところでjavaFXやWebstartも少しやっとくといいかもね
0912デフォルトの名無しさん
2009/06/29(月) 00:13:15やる価値あるの?
0913デフォルトの名無しさん
2009/06/29(月) 00:15:17違法コピー嫌うようになってきたこの頃では
それに対する対策となりえそうなものは少しでも取り込んどいた方がいいんじゃ無いかとは思う
0914デフォルトの名無しさん
2009/06/29(月) 00:16:260915デフォルトの名無しさん
2009/06/29(月) 00:17:350916デフォルトの名無しさん
2009/06/29(月) 00:18:150917デフォルトの名無しさん
2009/06/29(月) 00:19:10実戦では何を使うんでしょうか。
>>910
Webが必要なかったらJSP+Servletはやらなくていいってことですね。
>>910-911
SwingはやらずにjavaFXとWebstartというのをやればいいのでしょうか。
>>914
そうなんですか。
ケータイアプリはGUIじゃないんですかね・・・?
0918デフォルトの名無しさん
2009/06/29(月) 00:19:350919デフォルトの名無しさん
2009/06/29(月) 00:20:01デバッグ用に可視化ツール作ったら製品の一部になってしまったことならある。
0920デフォルトの名無しさん
2009/06/29(月) 00:22:490921デフォルトの名無しさん
2009/06/29(月) 00:23:19どうしてそういう心境になったの?
0922デフォルトの名無しさん
2009/06/29(月) 00:25:16どんな職場にいたらSwingが必須とまでいえるんだよwww
0923デフォルトの名無しさん
2009/06/29(月) 00:25:17ケータイアプリ作りたいならまた違うぞ?
0924デフォルトの名無しさん
2009/06/29(月) 00:26:180925デフォルトの名無しさん
2009/06/29(月) 00:26:440926デフォルトの名無しさん
2009/06/29(月) 00:32:32どんだけクソ仕事しかしてないんだかwww
0927デフォルトの名無しさん
2009/06/29(月) 00:33:25とりあえずWindowsでGUIのソフトを作りたいと思っています。
何を作るか決めてませんが、自分用のツールとか・・。
(Javaってそういう用途じゃないんですか??)
慣れてきたら携帯用のものも作りたいです。
0928デフォルトの名無しさん
2009/06/29(月) 00:34:31大体なんでもできるんだから
0930デフォルトの名無しさん
2009/06/29(月) 00:37:520931デフォルトの名無しさん
2009/06/29(月) 00:39:17VC++を勧める
0932デフォルトの名無しさん
2009/06/29(月) 00:40:380933デフォルトの名無しさん
2009/06/29(月) 00:44:01あと、もし学生なら課題でSwingアプリを作れってのもある
Javaの仕事が圧倒的にWeb系が多いから誤解されがちだけど
Swingの需要も一定数あるよ
JavaFXも他に出遅れた感もあるけど、今後どうなるかわからないし
ちゃんとやってる人が少ないからそこに潜れるかもね
0934デフォルトの名無しさん
2009/06/29(月) 00:44:590935デフォルトの名無しさん
2009/06/29(月) 00:46:580936デフォルトの名無しさん
2009/06/29(月) 00:47:23Strutsしか触った事の無いJava弱者さんはお黙りください
0937デフォルトの名無しさん
2009/06/29(月) 00:49:27ただし貧乏籤を引かされがち
0938デフォルトの名無しさん
2009/06/29(月) 00:50:570939デフォルトの名無しさん
2009/06/29(月) 00:51:28private boolean open;
Cell(int x, int y){
this.x = x;
this.y = y;
open = false; // default is "not-opened"
}
void setValue(int value){
this.value = value;
}
boolean isOpen(){
return open;
}
boolean isMine(){
if(value == -1){
return true;
}else{
return false;
}
}
int openMyself(){
open = true;
return value;
}
何がしたいかさっぱりわからん
0940デフォルトの名無しさん
2009/06/29(月) 00:53:110941デフォルトの名無しさん
2009/06/29(月) 00:53:47確かにわけ分からんなこれだけでは
0942デフォルトの名無しさん
2009/06/29(月) 00:55:070943デフォルトの名無しさん
2009/06/29(月) 00:55:12テキストエディタで打てれば玄人ってのは古いと思う
0944デフォルトの名無しさん
2009/06/29(月) 00:56:09能率悪すぎ
0945デフォルトの名無しさん
2009/06/29(月) 00:57:49何をするもこれをするもない
0946デフォルトの名無しさん
2009/06/29(月) 00:58:10│ ヽ( ,_ノ`)ノ <openMyself()!!!!
│ へノ /
└→ ω ノ
>
0947デフォルトの名無しさん
2009/06/29(月) 00:58:270948デフォルトの名無しさん
2009/06/29(月) 00:58:330949デフォルトの名無しさん
2009/06/29(月) 01:00:240950デフォルトの名無しさん
2009/06/29(月) 01:01:32はいはい、IDEAでも使っててくださいね
0951デフォルトの名無しさん
2009/06/29(月) 01:02:18それはpluginの問題だろ?
eclipse使ったことあるのかい?
0952デフォルトの名無しさん
2009/06/29(月) 01:02:21じゃあ、GUIはC++の一択?
それも大げさだなあ。
RubyやPythonでGUIのほうが、移植性が不安だし。
0953デフォルトの名無しさん
2009/06/29(月) 01:03:380954デフォルトの名無しさん
2009/06/29(月) 01:05:210955デフォルトの名無しさん
2009/06/29(月) 01:05:590956デフォルトの名無しさん
2009/06/29(月) 01:07:400957デフォルトの名無しさん
2009/06/29(月) 01:08:440958デフォルトの名無しさん
2009/06/29(月) 01:10:29糞仕事ばかりでいい仕事が来ないからに違いない!
0959デフォルトの名無しさん
2009/06/29(月) 01:12:510960デフォルトの名無しさん
2009/06/29(月) 01:52:22地雷掃除の枠一つ。
データクラスから判ることは少ないと思うが。
0961デフォルトの名無しさん
2009/06/29(月) 02:01:11view_community.pl?id=112369
> 純粋にNetBeansが好きな方
> Pure Java環境が好きな方
> GUIが大好きな方
> vi/Emacsで神の領域を目指していた方
> Eclipse一辺倒でだめ人間になりたくない方
> Eclipse一辺倒でだめ人間になりたくない方
> Eclipse一辺倒でだめ人間になりたくない方
> Eclipse一辺倒でだめ人間になりたくない方
何これ?(^ω^;)
0962デフォルトの名無しさん
2009/06/29(月) 02:03:430963デフォルトの名無しさん
2009/06/29(月) 02:04:590964デフォルトの名無しさん
2009/06/29(月) 02:11:410965デフォルトの名無しさん
2009/06/29(月) 02:13:390966デフォルトの名無しさん
2009/06/29(月) 02:26:16Cellクラスじゃないの?
0967デフォルトの名無しさん
2009/06/29(月) 02:53:500968デフォルトの名無しさん
2009/06/29(月) 03:29:440969デフォルトの名無しさん
2009/06/29(月) 03:34:59ヤンキーの兄ちゃんが使っているのを遠めに見たことある。
0970デフォルトの名無しさん
2009/06/29(月) 03:48:250971デフォルトの名無しさん
2009/06/29(月) 07:32:310972デフォルトの名無しさん
2009/06/29(月) 08:01:49少なくとも>>969より優秀だったり
名前が知れてるプログラマの何人かはNetBeans使い
0973デフォルトの名無しさん
2009/06/29(月) 09:08:180974デフォルトの名無しさん
2009/06/29(月) 09:46:430975デフォルトの名無しさん
2009/06/29(月) 12:05:080976デフォルトの名無しさん
2009/06/29(月) 12:09:280977デフォルトの名無しさん
2009/06/29(月) 12:10:390978デフォルトの名無しさん
2009/06/29(月) 12:29:170979デフォルトの名無しさん
2009/06/29(月) 13:32:41考え方としては入力する変数(平均点、自分の得点、標準偏差)を作って
格納した変数を(自分の得点−平均点)×10/標準偏差+50となるように作ればいいのかな?
余裕があれば標準偏差も求めて尚且つ偏差値も出すことのできるプログラムも
考えてこいといわれたけど標準偏差の方は大変そうでわからないなぁ
0980デフォルトの名無しさん
2009/06/29(月) 13:54:51自力でその偏差計算を書けって話じゃないのか?
入力値が複数の点数データとかで。
偏差計算はインチキしたいなら、Uncommons Mathsとか使えば
getStandardDeviationみたいなズバリの関数あるが、
なんの勉強にもならんし、課題の意味が無いな。
ケーキ作ってこいっていわれた課題なのに買ったケーキ持っていくみたいな。
0981デフォルトの名無しさん
2009/06/29(月) 16:10:22http://pc12.2ch.net/test/read.cgi/tech/1246259368/
0982デフォルトの名無しさん
2009/06/29(月) 16:48:43うーん、たぶん授業が統計解析学だからそんなに難しいのじゃないかなぁ
理論は授業で教えて実施はエクセルなりjavaなりCなりで作ってみろって言う先生だし
たぶん今回の授業範囲の偏差値やら標準偏差の意味が分かっているかを
確認したいぐらいだとおもう
それにしてもそのまま偏差求めることのできる関数があるんじゃ不正が多そうだ
両方考えてみるけど、上手くプログラムが作れなかったらそのときはよろしくお願いします
0983デフォルトの名無しさん
2009/06/29(月) 21:39:49うーん、授業風景がなんとなく想像できるw
教授「お前ら偏差値も知らないのか。いったい高校で何を学んできたんだ!」
教授「よし、お前ら偏差値を求めるプログラムを書いてこい」←思いつきなので来週は忘れている
0984デフォルトの名無しさん
2009/06/29(月) 22:55:27hensa = 10
if(age > 30){
throw new IllegalPersonException()
}
}else{
hensa = 90
}
0985デフォルトの名無しさん
2009/06/29(月) 23:24:08数字ボタンをクリックすることで入力は出来るのですが、+や=などの演算用のキーを押しても
反応がありません。
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/741.txt
どこが悪いか、教えてください。
0986デフォルトの名無しさん
2009/06/29(月) 23:41:11を
Button equ = new Button("push");
に変更する。
で、
1 + 2
を計算したいときは
1 push 2 +
と入力する。
0987デフォルトの名無しさん
2009/06/29(月) 23:46:40演算子を入力した直後は何が起きれば良いのか、もう一度考えるんだ
0988デフォルトの名無しさん
2009/06/30(火) 00:02:42やってみたのですが、変化が無いようです。
>>987
考えているのですが・・・
演算子(仮に+)が入力されたら入力された値が入っているtmp1をtmp2にプラス。
tmp1を0にして、次の数字の入力を促す。
ですよね?
0989デフォルトの名無しさん
2009/06/30(火) 00:17:34ヒント:テンキー
0990デフォルトの名無しさん
2009/06/30(火) 00:22:3313+25= は38 というのが人間様の考えだ。
den様は(脳内実行環境では)
tmp1 : [0.0] 1 3 [13.0] + [0.0] 2 5 [25.0] = [0.0]
tmp2 : [0.0] 1 3 + [13.0] 2 5 = [25.0]
となる。(はずだが。)
さてどうしたものかね。
0991デフォルトの名無しさん
2009/06/30(火) 00:43:450992デフォルトの名無しさん
2009/06/30(火) 03:09:59あなたの電卓は二項演算子ボタンを押した瞬間に二項とも取得できるんですか。
イコールボタンの仕様は、直前の入力値を表示するだけですか。
0993デフォルトの名無しさん
2009/06/30(火) 03:15:590994デフォルトの名無しさん
2009/06/30(火) 05:16:491 2 + じゃないの?
0995デフォルトの名無しさん
2009/06/30(火) 12:23:33パッケージ Import は存在しません。というエラーになります。
最初から Makefile がついてきていて
make all するだけでできるはずなのですが。。。
Makefile を見ると
javac -O -classpath ../:.:../Java/ *.java
という記述があるのですが、この「../:.:../Java/」というのは正しい記述なのでしょうか?
自分は始めてこんなピリオドとコロンの連続を見たので・・・
0996デフォルトの名無しさん
2009/06/30(火) 12:31:19ドカス
落してきたままなら、自分の環境に変えるだろ
故にお前さんの環境のパスに修正しろ
0997デフォルトの名無しさん
2009/06/30(火) 12:33:030998995
2009/06/30(火) 12:35:15自分の知らない相対パスの書き方なのかと思って・・・
自分で絶対パスを描き直してみます。
いろんなとこにこの記述があるから果てしなく面倒くさそうだけど・・・
ありがとうございます。
0999デフォルトの名無しさん
2009/06/30(火) 12:38:17お前みたいなのを言うんだよ
>>998 がんばれよ
1000デフォルトの名無しさん
2009/06/30(火) 12:46:0310011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。