【初心者】Java質問 ..
[2ch|▼Menu]
617:デフォルトの名無しさん
08/08/23 22:11:11
>>615
まあ、あくまで一例だが、
知っている情報系の中小企業だと、Excelしか使ったことの無い文系の新卒でも、3ヶ月で基本情報処理技術者が取れるように訓練される。
無論、当人の努力も大事だし、実際の試験で落第したなら、合格するまで昇給をストップされる。


618:デフォルトの名無しさん
08/08/23 22:44:48
IBMへ行った先輩の話だと、文系も理系もなく新人研修でしごかれるらしいな
C言語は2日で終わってC++を1週間、Java、Web、DBと容赦なく進むスケジュール表を事前に渡されるので
研修開始までに独習して一通りマスターしておくのが普通らしいな

619:デフォルトの名無しさん
08/08/23 22:45:31
String#equalsはjavaで真っ先に覚える部類だろ。
基本情報処理技術者って落ちる奴居るのか?

620:デフォルトの名無しさん
08/08/23 22:51:41
リフレクションに関する質問です。

interface Hoge {}
class HogeImpl implements Hoge{}

現在Hoge.classのみがあって(Hogeのインスタンスは存在しない)、HogeImplがHogeを継承しているかどうかを調べる方法はあるのでしょうか?
Hogeのインスタンスが存在しているのであれば
Hoge.class.isInstance(hogeImplInstance);
で確認できるのですが、Classのみでの確認手段が分かりませんでした。
newInstanceでインスタンス作って確認するしかないのでしょうか?

621:デフォルトの名無しさん
08/08/23 23:00:00
今ちょっと見ただけだけどisAssignableFromとかあるじゃん


622:デフォルトの名無しさん
08/08/23 23:00:06
HogeImpl.class.getInterfaces

てかClassのJavaDoc読んだ?
あと、それを確認しなければならない状態があるのかよ。
Hoge hoge = new HogeImpl();
と書けばコンパイルエラーになるだろ、implしてなければ

623:デフォルトの名無しさん
08/08/23 23:00:34
>>620
Class#isAssignableFrom(Class)

624:デフォルトの名無しさん
08/08/23 23:06:25
>>619
統計発表されてるだろ

625:デフォルトの名無しさん
08/08/23 23:11:03
あったんですね。迅速な回答ありがとうございます。

>>622
一通り読んだつもりだったのですが読み落としてました。
本当に申し訳ないです。

626:デフォルトの名無しさん
08/08/24 00:05:43
>>618
C言語2日って、それならやらない方がマシじゃねかw
こんな連中しかいないからWacsなんていう糞フレームワークしか作れないんだな(ワラ

627:デフォルトの名無しさん
08/08/24 00:14:21
>C言語は2日で終わってC++を1週間
どう考えても無謀だしな。

628:デフォルトの名無しさん
08/08/24 00:22:57
いいかげん嘘つきの相手なんかすん

629:デフォルトの名無しさん
08/08/24 01:50:13
以下のURLのような、図をプログラムで解析するようなプログラミングの問題で
URLリンク(www.i.u-tokyo.ac.jp)
(沢山ある、それぞれの頂点が辺で結ばれていたり、いなかったりする)
私は、2次元配列を用いて、cell[結合元の番号][結合先の番号]=0or1のようにして表して解こうとしたのですが、
なかなかうまくいきません。このような問題の本流というか、良いやり方はどのようなものでしょうか?

また、上記urlの問題の最後の方にある頂点から別の頂点への距離を求めるものがあるのですが、
私には遺伝的アルゴリズムを用いた手法しか思い浮かびません。しかし、大学院入試のプログラミング問題程度で
そのようなものが要求されるのは考えにくいので、私が何か見落としている気がします。
問題の解釈すら違うかもしれません。どのようなレスでもいいので、お願い致します。



630:デフォルトの名無しさん
08/08/24 02:18:34
>>629
すまん。
まったくわからん。
ただ、おれにわかるのはスレ違いということくらい。

631:デフォルトの名無しさん
08/08/24 02:32:43
良いやり方というのは特にありません
たぶんお勉強にこだわりすぎなんじゃないですか?

632:デフォルトの名無しさん
08/08/24 02:36:29
>>629
Q2-1はつながってる先を順に調べて、ツリー状に調べてゆくってことかな?

Q4は、
辺を追加していく順序に就いて悩んでいるのだろうけど、
冒頭に、「N は変えるが同じ頂点対の並びを利用する. その場合, N 番目以降の頂点対は無視する.」ってあるから、
G3は単にファイル上の登場順にN番目までの辺で出来たグラフ。
残りもその順で追加して行くだけでは?

633:デフォルトの名無しさん
08/08/24 03:21:50
IBM Javaで暗号化してSun Javaで復号化すると
IBM Javaのクラスが見つかりませんとエラーが発生しました。
 java.lang.ClassNotFoundException: com.ibm.crypto.provider.DESKey

暗号化キーは、シリアライズ化してあったものをObjectInputStreamでよみこもうとした時に上記エラーが発生しました。
回避策わかる方いますでしょうかm(__)m

634:633
08/08/24 03:58:06
Objectをシリアライズせず、キーのデータのみ受け渡しすれば
異なるVM間で復号化できましたm(__)m

635:デフォルトの名無しさん
08/08/24 04:01:35
VM実装依存のクラスつかってりゃClassNotFoundExceptionでるだろ。馬鹿か?

636:デフォルトの名無しさん
08/08/24 11:27:14
RMIのリモートオブジェクトに対して、new Socket().isConnected()に当たるようなコネクションの確認はできるでしょうか?

637:デフォルトの名無しさん
08/08/24 17:21:29
javac <ファイル名>.java は出来たのですが、
その次にファイルを実行出来ません。
どうすればいいでしょうか?

638:デフォルトの名無しさん
08/08/24 17:41:14
URLリンク(wisdom.sakura.ne.jp)
ここでどぞ

639:デフォルトの名無しさん
08/08/24 18:53:41
JavaEEのパフォーマンスチューニングの相談もここでOKですか?

640:デフォルトの名無しさん
08/08/24 19:17:26
同じバージョンのJREをつんだ違うOSで、同じbeanをシリアライズしたバイトデータの中身はまったく同じなのでしょうか?

641:デフォルトの名無しさん
08/08/24 19:25:32
バージョン違えばそりゃ違うんじゃね?

642:デフォルトの名無しさん
08/08/24 23:39:58
Javaの勉強を最近始めた超初心者です。
勉強してる中でパッケージの内容からどうしても先に勧めません。
あるプログラムの頭にpackage パッケージ名;と打ち込んだのですが、
"予想されたパッケージと一致しません"と言われうまく起動してくれません。
どういった名前を付ければ予想されたパッケージになるのでしょうか。。
教えてください。。

643:デフォルトの名無しさん
08/08/25 00:15:44
>>642
パッケージが「package foo;」だったら、そのソースファイルはfooディ
レクトリの中にある必要がある、のが原因かもしれない。


644:デフォルトの名無しさん
08/08/25 03:22:20
画像をFlowLayoutパネルに流したいのですが
FlowPanel.add(Image)は対応していないのでImageIconを作って画像を入れようと色々やっているのですが上手く行きません。

Toolkit tk = Toolkit.getDefaultToolkit();
Image img = tk.getImage("C:\\~~.jpg");
ImageIcon icon = new ImageIcon(img);
JLabel label = new JLabel(icon);
こんな感じでラベルをつくってレイアウトに流し込んでいるのですが・・・


645:デフォルトの名無しさん
08/08/25 04:17:07
>>644
ImageIconには画像ファイルのパスを引数にとるコンストラクタがあるから
ファイルから画像を読み込んでJLabelのアイコンに設定するならImageを作らなくても
JLabel label = new JLabel(new ImageIcon("C:\\~~.jpg"));
でいけるよ

646:デフォルトの名無しさん
08/08/25 16:07:06
もう頭パニック助けて・・・
下記のコードでdをcのListに値を入れるのってどうやればいいんですか?

import java.util.*;
public class bbb{
public static void main(String [] args){
List <aaa> c = null;
aaa d = null;
d.setNo(1);
d.setName("test");
c.add(d);
System.out.println(c.get(0).getNo());
System.out.println(c.get(0).getName());
}
}
class aaa {
int no;
String name;
public aaa(){
}
public int getNo(){ return no;}
public void setNo(int newNo){no = newNo;}
public String getName(){return name;}
public void setName(String newName){ name = newName;}
}


647:デフォルトの名無しさん
08/08/25 16:14:35
>>646
List <aaa> c = new ArrayList<aaa>();
aaa d = new aaa();

648:デフォルトの名無しさん
08/08/25 16:28:06
>>647
new 試したけどいまいち書き方がわかりませんでした。
ありがとうございました。

649:デフォルトの名無しさん
08/08/25 16:38:27
現在Javaで動画を扱おうと試行錯誤していますが、いまいちできるかどうかもわからない状態です。
機能的には、デスクトップをプログラムでキャプチャしてそのままAVIなどの動画に変換して出力したいのですが、
Java言語ではどのようにすれば可能なんでしょうか?

650:デフォルトの名無しさん
08/08/25 16:40:49
>>649
Vectorから適当なスクリーンキャプチャをダウンロード・インストールして、
Javaサイドから定期的に呼び出す。
というのではいけませんか?

651:デフォルトの名無しさん
08/08/25 16:45:13
JAIについて質問です。
JAI入門書のサンプルプログラムをコンパイルすると下のようなエラーが出ます。

パッケージ javax.media.jai は存在しません。

JAIもJDKのPathの設定のようなものがいるのでしょうか?

652:デフォルトの名無しさん
08/08/25 16:47:47
>>651
要るんだと思いますよ。

653:デフォルトの名無しさん
08/08/25 17:28:36
>>651ですが
どう設定すればいいか教えてください。おねがいします


654:デフォルトの名無しさん
08/08/25 17:44:14
>>653
入門書なら設定の仕方とかは書いていると思いますよ。
もし書いていないならその本は捨てても構わないと思いますよ。

655:デフォルトの名無しさん
08/08/25 19:36:02
オプションパッケージはインスコするかバンドルするかってちゃんとjavadocに書いてあるだろうがjavadoc嫁。
それにオプションパッケージのreadmeにも書いてある。

JMFのインストーラ版なら決め打ちで勝手にパス通すが。

656:デフォルトの名無しさん
08/08/25 22:04:55
一週間くらい前に、デザインパターン入門の本を教えてくれた人、マジありがとうございます。
いい本ですね。

657:デフォルトの名無しさん
08/08/25 22:24:13
どのあたりがいい本なのか書かないと

658:デフォルトの名無しさん
08/08/25 22:31:38
そもそもどの本だ?

659:デフォルトの名無しさん
08/08/25 22:32:54
文章が読みやすい
例が簡潔でわかりやすい
細かいフォローもばっちり
デザインパターンをそれぞれ関係づけてあって覚えやすい

基礎から実践に近づくために必要な知識が効率的に吸収できます。

660:デフォルトの名無しさん
08/08/25 22:42:54
教えてくれた人にだけわかればいいから質問してくんなよ。ケッ。

661:デフォルトの名無しさん
08/08/26 00:16:44
その本を超えるようなホームページを作ってください!

662:泣きそうです
08/08/26 13:35:45
下記のXMLで、key1とval1を出力したいのですが、
取得の仕方がイマイチ分かりません。
いろいろ試したのですが、コンパイルとかエラーになって・・・
どなたか、取得の仕方を教えて下さい。
-----------[testXml.xml]------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<config>
 <ptn1_data1>
  <element key="a1" val="a01"/>
  <element key="a2" val="a02"/>
 </ptn1_data1>
 <ptn2_data2>
  <element key="x1" val="x01"/>
  <element key="x2" val="x02"/>
 </ptn2_data2>
</config>
--------------------------------------------------------


663:泣きそう
08/08/26 13:47:24
import java.io.*;
import javax.xml.parsers.*;
import org.w3c.dom.*;

class testXml
{
  public static void main(String args[]) throws Exception
  {
   DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
   DocumentBuilder db = dbf.newDocumentBuilder();
   Document doc = db.parse(new FileInputStream("testXml.xml"));
   Element root = doc.getDocumentElement();
   walk(root);
  }



664:泣きそう
08/08/26 13:49:43
  public static void walk(Node n)
  {
   for(Node ch = n.getFirstChild();
        ch != null;
        ch = ch.getNextSibling()){

     if(ch.getNodeType() == Node.ELEMENT_NODE){
      System.out.println("ELEMENT_NODE:"+ch.getNodeName());
      walk(ch);
     }
     else if(ch.getNodeType() == Node.TEXT_NODE && ch.getNodeValue().trim().length() !=
0){
      System.out.println("  TEXT_NODE:"+ch.getNodeValue());
     } else {
      System.out.println( ・・・・key1を出力したいです);
      System.out.println( ・・・・valを出力したいです);
     }
   }
  }
}



665:泣きそう
08/08/26 13:50:39
長く書いてしまってごめんなさい。
けど、どなたか教えて下さい。
お願いします

666:デフォルトの名無しさん
08/08/26 14:18:49
>>662

Document doc = db.parse(in);
NodeList l = doc.getElementsByTagName("element");
if (null == l) {
  System.out.println("タグ element はありません。");
} else {
  System.out.printf("タグ element は %d 個あります。\n", l.getLength());
  for (int i = 0; i < l.getLength(); ++i) {
    NamedNodeMap n = l.item(i).getAttributes();
    System.out.printf("\t[key=%s],[val=%s]\n"
        , n.getNamedItem("key").getNodeValue()
        , n.getNamedItem("val").getNodeValue());
  }
}


667:デフォルトの名無しさん
08/08/26 14:43:34
それ以前にxmlの設計が腐ってる。
xmlスレ行って出直して来い。

668:デフォルトの名無しさん
08/08/26 15:30:04
>662
コンパイルエラー
URLリンク(javafaq.jp)

669:デフォルトの名無しさん
08/08/27 00:15:27
>>662
普通はこんなかんじ。
indexはいらんかも。

<config>
 <ptn_data index="1">

 </ptn_data>
 <ptn_data index="2">

 </ptn_data>
</config>

670:デフォルトの名無しさん
08/08/27 07:37:12
すいませんが教えてください。
自分で作った実行ファイルがあります(文字コードMS932)→Test.class
これをbatファイル(文字コードEUC-JP)で実行します。
batファイルの中身は
java Test 日本語パラメータ
で、batファイル自体は文字コードEUC-JPです。
この場合引数で受け取った"日本語パラメータ"という文字列を
プログラム内ではMS932として、文字化けせず"日本語パラメータ"として処理を行いたいのですが
どうすればいいでしょうか?

まず、batファイルをダンプして"日本語パラメータ"という文字列を見た場合と
args[0]をarg[0].getBytes()してダンプ出力した結果が違うのです。
ためしにarg[0].getBytes("EUC-JP")してもこれもまた上とはまた違った結果になります。
もう、引数で渡されてきた時点でデータが壊れているのでしょうか?

671:デフォルトの名無しさん
08/08/27 07:59:53
>>670
コマンドラインはプラットフォームのデフォルトエンコーディングで扱
われると思う。batファイルとか書いてあるってことはWindowsかね。で
あれば、コマンドラインはms932で書かないと化ける。

ところで「実行ファイルの文字コードがms932」ってどういう意味?



672:デフォルトの名無しさん
08/08/27 08:02:34
>>670
echo 日本語パラメータ

だけの内容のbatファイルをEUC-JPで作成して試してみ?
たぶん引数の前、コマンドラインシェルが解釈した段階で化けてると思うぞ。

673:デフォルトの名無しさん
08/08/27 11:33:28
一旦バイトコードに変換してから処理したいんですが
文字化けを起こして出来ません。

PrintWriter out = response.getWriter();
//String val = request.getParameter("kanji");
//byte[] byteData = val.getBytes("Shift_JIS");
//val = new String(byteData, "Shift_JIS");
out.print(val);

コメントアウトを外すと文字化けを起こします。
表示先は文字コードはShift_JISであっている筈なんですが・・・
単純に両方Shift_JISをピンポイントで指定してるのに
なぜ化けるのでしょうか?バイトコードへ変換して戻す処理の中で何かデータの欠損でも起きているのでしょうか?


674:デフォルトの名無しさん
08/08/27 12:30:06
SJIS外の文字は入ってないの?

675:デフォルトの名無しさん
08/08/27 12:43:56
>673
1. response の PrintWriterオブジェクトの文字コードは何なのかしら?
2. request は正しい文字コードで入力を読み取ってるかしら?
3. 674 のように Shift_JIS外の文字は入ってないかしら?
4. response で出力した先の文字コードは 1 と同じかしら?

676:デフォルトの名無しさん
08/08/27 15:35:15
行き詰まっているので質問させて下さい。
データベースに日付を管理するresettime・・・というテーブルがあります。
そのテーブルにはtimeというdate型のカラムがあり2008-08-27という値が格納されています。
んでソースです。
public void checkDate() {
Date now = new Date();//今日の日付
String sqlIndex = "select * from resettime";
try {
db.connect();//データベースに接続する
ResultSet rs = db.executeQuery(sqlIndex);//Statementのと同じ機能
rs.next();
if(now.after(rs.getDate("time")//今日の日付のはず)) { //※問題の箇所
String[] sql = new String[2];
sql[0] = "delete from popularmovieinfunnymoviechannel";
sql[1] = "update resettimeinfunnymoviechannel set time = '"+now+"'";
db.addBatch(sql);
db.executeBatch();//Statementのと同じ機能
}
}
catch(SQLException e) {

}
finally {
db.disConnect();//データベースを切断する
}
}
問題の箇所がtrueとなってしまい上手くいきません。バグっぽい箇所が在ればご教授下さい
jreは6_7です。



677:デフォルトの名無しさん
08/08/27 15:38:43
nowは今日の日付に加えて現在の時刻も入ってるはず
そのDBのdate型が時刻を格納してないなら00:00:00になるはず
今日の現在時刻と今日の00:00:00を比較したらどうなるかというと・・・

678:デフォルトの名無しさん
08/08/27 15:43:11
RMiの呼ばれる実装クラスにて、要求先のIPアドレスを取得する方法はあるでしょうか?
引数で情報を渡すはなしでお願いします。

679:デフォルトの名無しさん
08/08/27 15:51:05
>>673
request.setCharacterEncodingでSHIFT_JISを有効にする。
あと、Tomcat5.0以降のバージョンでGetの処理すると、
デフォルトの動作でsetCharacterEncodingが無効になるから注意。
server.xmlの変更で対処して。そのあたりはググれば出てくる。

680:デフォルトの名無しさん
08/08/27 15:55:34
>>677 nowをjava.sql.Date()のインスタンスにしてもtrueになるんですけど・・・
jre変えてみまッス。


681:デフォルトの名無しさん
08/08/27 16:05:40
>>680
java.sql.Dateも一緒
Javadoc見てみ、時間をミリ秒で表すって書いてある
URLリンク(java.sun.com)

682:デフォルトの名無しさん
08/08/27 16:20:08
結局データーベースから取ったDateとDateインスタンスは比較しても無駄って事ですか?

683:デフォルトの名無しさん
08/08/27 16:24:51
>>682
java より先に小学生レベルの時刻の概念から学んだ方がいい

684:デフォルトの名無しさん
08/08/27 16:28:50
>683 あいそうします。ありがとうございました。

685:デフォルトの名無しさん
08/08/27 16:55:15
時間・時刻を比較したいのか

686:デフォルトの名無しさん
08/08/27 17:11:31
afterとbeforeの動作を誤解してるとかじゃないよね?

nowが現在の時刻なんだから、それよりもafterな時刻なんて
存在しない……だから、”問題の箇所”は常にtrueになって当たり前。

687:686
08/08/27 17:13:43
「それよりもafter」って変だったorz

現在の時刻よりも、未来の時刻は存在しないから
”問題の箇所”は常にtrueって言いたかった……

688:デフォルトの名無しさん
08/08/27 21:01:43
>>686 もしjava.sql.Date型同士のインスタンスを比較するとして両方のインスタンスが
同年同一日ならafterでもfalseが帰る。

689:680
08/08/27 21:20:11
>681 nowの方の日にちを調整することで解決させました。
このまま行ってたら大きな誤解を持ったまま行くところでした。thx。

690:デフォルトの名無しさん
08/08/27 21:30:00
Component component = new JScrollPane(new JPanel());
JTabbedPane jtp = new JTabbedPane();
jtp.addTab(component);

のように書いた時に、後々componentを取得する方法はあるで
しょうか。
ご教授お願いします。

691:690
08/08/27 21:40:35
すみません。690ですが
取得したいのはcomponentではなくて、
スクロールペインの中のJPanelでした。

宜しくお願いします。

692:デフォルトの名無しさん
08/08/27 22:16:21
Strtusについて質問です。

public void setGoods(ArrayList<String> goods){
this.goods = goods;}
public void setNumber(ArrayList<String> number){
this.number = number;}

このようにしてBeanに格納したArrayListを、

<logic:iterate id="name" name="Bean">
<bean:write name="name" property="number" />:
<bean:write name="name" property="goods" /><br>
</logic:iterate>

上記のJSPで出力しようとしてもエラーが出ます。

<logic:iterate id="name" name="Bean" property="number">
<bean:write name="name" />
</logic:iterate>
<logic:iterate id="name" name="Bean" property="goods">
<bean:write name="name" />
</logic:iterate>

こういった書式だと値の表示は可能ですが、当然出力位置が変ってしまいます。

number1:goods1
number2:goods2
number3:goods3

最終的にこういう表示をさせるにはどういった書き方をすればいいでしょうか。


693:デフォルトの名無しさん
08/08/27 23:17:58
>>691
((JScrollPane)component).getViewport().getView()

694:デフォルトの名無しさん
08/08/28 01:24:16
>>693

ありがとうございます。
お陰で無事解決しました。

695:688
08/08/28 09:17:37
ごめ、嘘ブッコイタ。

696:デフォルトの名無しさん
08/08/28 10:11:00
>>678
java.rmi.server.RemoteServer.getClientHost() でガマンしろ。

697:デフォルトの名無しさん
08/08/28 11:33:18
まったくの初心者です。よろしくお願いします。

Javaの勉強をしようと思い
「JDK 6 Update 7」をダウンロードしてインストールしてみました。
環境変数を設定した後に、バージョンが正しいか確認してみたのですが、

C:\>java -version
java version "1.4.2_03"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_03-b02)
Java HotSpot(TM) Client VM (build 1.4.2_03-b02, mixed mode)

と表示さてれました。
ただし、

C:\WINDOWS\system32>java -version
java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot(TM) Client VM (build 10.0-b23, mixed mode, sharing)

だと、きちんと「JDK 6 Update 7」がインストールされているぽいのですが・・・

これってちゃんとインストールされた状態になったのでしょうか?

698:デフォルトの名無しさん
08/08/28 11:36:50
すでにインストールされてたっぽい JRE 1.4.2_03 は特に使わないなら削除してしまえ
あと javac -version も

699:デフォルトの名無しさん
08/08/28 11:45:50
>>698
レスありがとうございます。

C:\>javac -version
javac version "1.6.0_07"

C:\WINDOWS\system32>javac -version
javac version "1.6.0_07"

でした。

1.4.2_3の削除についてですが、

プログラムの追加と削除に無く、
レジストリ内も検索してみたのですがそれらしいのが無いため

どこから削除すればよいでしょうか?


700:692
08/08/28 11:54:23
自己解決しました。
ありがとうございました。

701:デフォルトの名無しさん
08/08/28 11:55:18
>>699
環境変数の PATH を確認する。
恐らく "C:\jdk1.4.2_03\bin" みたいなのが含まれているはず。

702:デフォルトの名無しさん
08/08/28 15:08:43
デザインパターンの本を買った人へ。
貴方のほらふきの癖を治せば、少しは友達が増えると思います。

703:デフォルトの名無しさん
08/08/28 16:32:37
javaでゲームのようなものを作っているのですが、(GUIです)質問させていただきます。
ゲームを起動すると
ログイン画面→どのゲームを選ぶかの選択画面→ゲームの画面
と画面を入れ替えていきたいのですが、どうやって処理すればいいでしょうか?
やはりカードレイアウトを使うしかないのでしょうか?画面の切り替えには・・・


704:デフォルトの名無しさん
08/08/28 16:50:41
質問させてください。
while文を回して配列に格納した多くのデータを、
終了後にファイルに出力するにはどうするのが一番効率的でしょうか?
ファイルの入出力がよくわからなくて…よろしくお願いします。

705:デフォルトの名無しさん
08/08/28 17:06:04
Ubuntuなら
update-alternativeっていうコマンドでやる。
PATHには入ってないんじゃないかな?
javaのパスを直接指定する人も珍しいだろうし。
とりあえず気休めだが、
JAVA_HOMEをいじっておけ。

706:デフォルトの名無しさん
08/08/28 17:58:51
>>704
効率なんか気にせず作ってみる
だいたい気にするほど遅くないことが多い
実際に気になるほど遅かったらそのときに訊くといい

707:デフォルトの名無しさん
08/08/28 18:01:26
>>703
古いコンポーネントをremoveして新しいコンポーネントをaddすることもできるよ

708:704
08/08/28 18:50:07
>>706
ありがとうございます。とりあえず作ってみます。

709:デフォルトの名無しさん
08/08/28 19:30:56
>>707
ありがとうございます。removeで取り除くことを忘れてました。。
カードレイアウトとどちらが良いんでしょう・・・

710:デフォルトの名無しさん
08/08/28 19:32:27
>>707
ありがとうございます。removeで取り除くことを忘れてました。。
カードレイアウトとどちらが良いんでしょう・・・カードは重くなりそうな印象で

711:デフォルトの名無しさん
08/08/28 19:35:01
二重・・・すいませんov2

712:デフォルトの名無しさん
08/08/28 23:13:00
>>710
印象で選択するのは危険。
実測してみればいい。

713:デフォルトの名無しさん
08/08/28 23:39:43
他のスレで話題に上がってて気になったんで質問。
Javaでチャット機能作る場合は一人に1スレッド設計しか無理なの?
サーバからのメッセージも随時受け取らないとダメだし

714:デフォルトの名無しさん
08/08/29 00:06:32
一人の何に1スレッドを当てるの?

715:デフォルトの名無しさん
08/08/29 00:55:57
スレッドは常にwhileで受信の準備をしてるんじゃない?

716:デフォルトの名無しさん
08/08/29 01:31:12
非同期

717:デフォルトの名無しさん
08/08/29 01:43:05
genericsについて質問です。
Parentクラスを継承するChildクラスを定義して下記コードを記述しました。

List<? extends Parent> list = new ArrayList<Child>();
list.add(new Parent());

上記コードでコンパイルエラーが出ます。
型を見るとadd()の引数がnullになってました。

きっとadd()しちゃいけないから引数の型がnullなんでしょうけど、
理由がよくわかりません。教えてくだしあ。

718:717
08/08/29 01:53:34
すんまそん。コードの2行目は

list.add(new Parent());
じゃなくて
list.add(new Child());
でした。どっちにしろ結果は同じなんですけどね。

719:デフォルトの名無しさん
08/08/29 02:02:59
>型を見るとadd()の引数がnullになってました。



720:デフォルトの名無しさん
08/08/29 03:21:38
>717
何度書いたか分からんが、ジェネリクスは静的解決、キャストは動的解決。

List<? extends Parent>
という宣言を書いたからオカシイ。

そもそも、宣言部分の代入式のほうで、<Child> としているではないですか。
何故、List<Child> と書かないのですか?

721:717
08/08/29 03:26:41
>>719
Eclipseでの話となりますが・・・
「list.」までを入力するとメソッド一覧が出てきますよね?
そこでaddの定義を見ると、add(null arg0)となっているんです。

addをCTRL+左クリックで表示されるクラスファイルエディターでも確認できます。

722:デフォルトの名無しさん
08/08/29 03:38:10
なんでジェネリックス入れてRTTI入れなかったんだっけ?
VMの実装が複雑になるから?

723:デフォルトの名無しさん
08/08/29 03:53:44
それがJavaだから。

724:デフォルトの名無しさん
08/08/29 04:10:33
>>717
List<? extends Parent>
には、Parent を継承したクラス Child1 や Child2 などを用いた
List<Child1> や List<Child2> などが代入されているかもしれない。
これらが同時に安全に add できるものは、
どんな型にもキャストできる null しかない。

725:デフォルトの名無しさん
08/08/29 09:03:12
デュアルコアのCPUが2スレッドを同時に処理するJavaプログラムを動かすとします。
この場合1コアあたり1スレッドなんていう動作になるんでしょうか?

もしそうだとすればnコアでn未満のスレッドを動かしたときどうなるのか非常に気になりますが。

726:デフォルトの名無しさん
08/08/29 10:10:19
>>725
Sun の Java VM であればネイティブスレッドなので 1 コア 1 スレッドで動くことができる。
というか、1 コアが 1 スレッドしか動かせないと思ってないか?Intel だって Hyper Threading
で 1 コア 2 スレッド動かせるし、Sun の Niagara 3 にいたっては 1 コア 16 スレッド(1 CPU
16 コアなので全体で 256 スレッド)動くぞ?

> もしそうだとすればnコアでn未満のスレッドを動かしたときどうなるのか非常に気になりますが。
別に気にならないだろ。普通に動くだけだが、何か変な妄想してないか?
空いてるコアは別の仕事するだけだ。

727:デフォルトの名無しさん
08/08/29 10:22:07
従来のシングルコアで10スレッド動かしたら
1コア当たり何スレッドの処理をするんだろうか?
Javaプログラムだと5スレッドかもしれないし、100スレッドかもしれない
しかし、これだと処理されないスレッドが発生し、さらに
他のスレッドも待ち状態のままになり、見かけ上ではフリーズしたのと同じだ
これを回避するためにPentium4のHT技術が開発されたんだな
Intelすげえという電波ですねわかりません

728:デフォルトの名無しさん
08/08/29 14:55:48
コア数よりスレッド数が多い場合は見かけ上ではあるがOSがタイマー割り込みで実現する。
シングルCPU時代のスレッドは基本的に待機スレッド。
ビジースレッドの並列処理で処理効率をあげるような手法はマルチじゃないと意味はないが、
基本的にIOやイベント待ちでスレッドは止まっているものだ。
それからHTは微妙でビジースレッドの並列処理向きじゃないんだよな。


729:デフォルトの名無しさん
08/08/29 15:13:40
新規質問。

Servlet 作ってて困っているのだけど、
スレッドID ってスレッドが動いてる時に突然変更されることってありえる?

730:デフォルトの名無しさん
08/08/29 15:17:10
>>729
ない
ってJavadocに書いてあるよ

731:デフォルトの名無しさん
08/08/29 16:00:09
intelがjava bytecodeとclassesを直接読み取っちゃうCPU命令を実装してくれればいい。

732:デフォルトの名無しさん
08/08/29 20:56:38
>>731
死屍累々ってほどでもないが、すでにそういうチップは作られていて全く普及して無い。picojavaとか。
そもそも Java の byte code 自体がハードで実装するには不向きな内容だし。
昨今は実行時プロファイリングでホットスポットを解消するほうが実行速度が上がるし。

733:デフォルトの名無しさん
08/08/29 21:24:02
intelのfloatや超越関数とかの機械語は、ibmやsunから見ればハードでの実装は不向きな内容であって、
それこそsin[x]なんかはソフトウェア(ライブラリ)で実装するもんだろうな。

つまり、java bytecodeはハードでは不向きという考えは古い考えじゃないの?
君みたいなゴミにとってはこれぐらいの話しすらついて来れないんだろうけどww

734:デフォルトの名無しさん
08/08/29 21:26:14
jvmとjavaはもともとは家電(ハード)組み込みの設計だったしなぁ

735:デフォルトの名無しさん
08/08/29 21:53:26
>>>732
おまえはどこに行っても相手にされないし無能なやつだな

736:デフォルトの名無しさん
08/08/29 23:41:58
テキストファイルのエンコーディングが予めわかっていない場合
どうやって適切なエンコーディングで読むのでしょうか?
Javaのライブラリを使用すれば、自動的に適切なエンコーディングで読んでくれるものがあるのでしょうか?

737:デフォルトの名無しさん
08/08/29 23:47:19
教授目指してみようかな。
それは結構面白いかも知れない。
戦国時代に生まれたかった。
そして戦場で野垂れ死にしたかった。

738:デフォルトの名無しさん
08/08/30 00:14:47
先生にも2つのタイプがあってな、1つは研究者で教えるのが仕事じゃなくて技術の追求が仕事で、もう1つは教えるのが仕事の教師でどちらかといえば過去・既存技術に精通していて教えたり話したりするのが好きで上手な人。
聞きかじった最先端の雑記を偉そうに語るのは、先生じゃなくても無能なサルでも出来るけど、お前のタイプはどっちだ?

739:デフォルトの名無しさん
08/08/30 00:27:33
MITの教授になりたい。

740:デフォルトの名無しさん
08/08/30 00:29:47
>>736
不可能です。
あきらめてあてずっぽやるか、人間さまに直接おたずねください。

741:デフォルトの名無しさん
08/08/30 00:39:06
少なくとも、最新技術を追いかけるのは最先端のオナニー・ショウを見てるようなものでしかないよ。
それよか、過去の技術や発明・基盤技術をちゃんと知ってるかどうかじゃないの?
大学でやってんならなおさらPCの歴史とかPCがたとどって来た道を知らないとねぇ。

ハードよりなら制御とか組み込みだし、ソフトよりならアルゴ・ライブラリとかコンパイラじゃないの?
すくなくとも、intelの機械語sin[x]は実際はハード内部でデコードしてハード・ロジックのライブラリを呼び出してるだけだしw

まずは自分用のCコンパイラを作れるかじゃないかな?

742:デフォルトの名無しさん
08/08/30 00:42:41
>>741
針が太すぎて、ブランコ代わりに腰掛けられるよ・・・

743:デフォルトの名無しさん
08/08/30 00:43:36
先端オナニーですね、分かります。

744:デフォルトの名無しさん
08/08/30 00:46:00
じゃう゛ぁとともにあらんことを。

745:717
08/08/30 00:55:29
>>720
それだけじゃ>>724みたいな結論にたどり着けないっすよ先輩。
理解してる人しか理解できないヒントというか何というか。

>何故、List<Child> と書かないのですか?
Genericsの勉強中に、クラス間に継承関係があっても
 List<Base> = new ArrayList<Child>();
のような事はできませんが、
<? extends Base>を使えば可能、という記述を見つけたので
試していただけです。で、add()ができないのは何故かと。

>>724
仮に可能であれば、
Child hoge = list.get(0);
とした時にChild1やChild2を返してしまいClassCastExceptionが発生するため危険、
という事でいいですか?

List<? extends Base>#get()の返り値の型をBase型として返せば
いいような気もしますが、それもやはり不都合があるんでしょうか。

746:デフォルトの名無しさん
08/08/30 01:02:26
ジャヴァーは、言語仕様や文法よりも「ライブラリ☆命」なんですが・・・

747:デフォルトの名無しさん
08/08/30 01:35:25
>>745
List<? extends Parent> list = new ArrayList<Child1>();
list.add(new Child1());
list.add(new Child2()); // ←ココ

748:デフォルトの名無しさん
08/08/30 02:02:49
>>745
>List<? extends Base>#get()の返り値の型をBase型として返せば
 List<? extends Base> list = new ArrayList<Child>();
を例えば
 List<Child> childList = new ArrayList<Child>();
 List<? extends Base> list = childList;
としてみましょう。
 list.add(new Base());
が実行された場合、list.get() は Base インスタンスを返せるでしょうが、
childList.get() は Child のインスタンスを返せる(返すことを保証できる)でしょうか。

749:デフォルトの名無しさん
08/08/30 10:08:37
>>743
SFCの『ラブクエスト』を思い出した。
「先っちょ、先っちょ、気持ち良い!」

750:デフォルトの名無しさん
08/08/30 10:43:44
>>733
コプロセッサって知ってるか?

>>735
そうだな。オマエくらいしか相手にしてくれなくて人生寂しいよ。
でもオマエがこうやってレスしてくれて、マジな話ちょっとうれしかった。
無視されるのが一番辛い。煽りでもなんでも、反応してもらえてサンキュ。

751:デフォルトの名無しさん
08/08/30 12:18:08
ぬるぽ

752:デフォルトの名無しさん
08/08/30 12:36:16
KeyTypedの中でgetKeyCharを使って入力をコンソールに表示しようとしても0としか表示されません。
getKeyCharなら、アルファベットキーは表示されるのですが、矢印キーの時は何も表示されません。
どうしてでしょうか?

753:デフォルトの名無しさん
08/08/30 15:32:44
JScrollPaneのJTableについて質問です。

例えば、あるボタンを押したらJScrollPaneがJTableの1行分だけ
下または上にスクロールする、というようなことは可能でしょうか。

JTable内で選択されている行を、そのボタンを押せば自動的に
ひとつ次or前の行に選択を移動させるようにしようと考えているのですが、
ScrollPaneに表示されている行内の終わりからボタンでさらに選択を奥に移動させると、
選択行は変わりますが、スクロールはしてくれないので、どうしたものかと悩んでいます。

754:デフォルトの名無しさん
08/08/30 15:42:13
>>752
> KeyTypedの中でgetKeyCharを使って入力をコンソールに表示しようとしても0としか表示されません。
のgetKeyCharはgetKeyCodeの書き間違い?
なら、
> KEY_TYPED イベントの場合、keyCode は VK_UNDEFINED
なのでVK_UNDEFINED(=0)が返る。
矢印キーなどのキーコードが取りたければ、
keyTypedでなくkeyPressedやkeyReleasedでイベントを捕まえる。

755:752
08/08/30 15:50:11
>>754
その通りCharじゃなくてCodeでした。

756:デフォルトの名無しさん
08/08/30 16:12:37
>>753
これは使えないかな?
URLリンク(java-house.jp)

757:デフォルトの名無しさん
08/08/30 16:58:51
String str = "ABCDE";
という文字列があって、この文字列を逆にして表示させたいです。
最終的に、System.out.println(str); で、画面には
EDCBA と表示させたいです。
文字列を引数にとって、それを反転して返すメソッドがあるのは
分かったのですが、そういうのを使わないで、配列やforをうまく使って
自力で反転させたいのです。
charAt(int index)やfor辺りで試行錯誤したのですが、どうも辿り着きません。
方法を教えてもらえませんでしょうか?

758:デフォルトの名無しさん
08/08/30 17:03:41
>>757
無駄なコードを書くことに、うまい方法なんて無いのでは?

759:デフォルトの名無しさん
08/08/30 17:06:24
>>749
>>750
>>751
ぬるぽ
ぬるぽ
ぬるぽ
ぬるぽ


760:デフォルトの名無しさん
08/08/30 17:06:38
>745
申し訳ありません。724 や 748 の話を良く聞いてください。
お詫びに、関係しそうな記事を置いていきます。

Javaの理論と実践: Generics、了解!
URLリンク(www.ibm.com)


761:デフォルトの名無しさん
08/08/30 17:13:23
>>756
どうもありがとうございます。その先に記述されているのをヒントとして、
ほぼ完成というところまでたどり着けました。
ただ、スクロールバーの▼・▲のボタンや、バーで移動させた際に、
その移動をさせたことを検出させて、かつ移動した距離を知りたいのですが、
どうにか知る術はないものでしょうか?たびたびすいません。

762:デフォルトの名無しさん
08/08/30 17:17:03
>757
Stringオブジェクトは、作成後、状態を変更できません。
ということは、反転した Stringオブジェクトを作成する時点で、
既に反転した状態を持つ「何か」を用意する必要があります。

「何か」は、char配列でも良いですが、単に追加するだけなら
java.lang.StringBuilder/Buffer が良いと思います。

763:デフォルトの名無しさん
08/08/30 17:19:30
URLリンク(www.apple.com)

このページの最上部のメニューバーみたいなのをウェブサイトに実装したいのでですが
何かオススメのスクリプトありませんか?

カテゴリ(ジャンル)が20個ぐらいありそれを1つのページに表示させたいです。



764:デフォルトの名無しさん
08/08/30 17:57:51
相変わらずひねくれてる奴多いな。
>>757はそりゃアルゴリズムの問題でjavaとはあまり関係ないない。

str2=new StringBuffer().append(str).reverse().toString();

これがjava流。良くAPIを読むとサロゲートはreverseしないとかがまたいい!

765:757
08/08/30 18:13:46
>>758
確かにうまくはないですね、言い方が悪くてすいません。
ただ、専用のメソッドを使うより、他のやり方を考えたら
プログラムの理解度も高まるかなーと思いまして。まだ初心者なんです。
>>762
配列を反転する方法がわからなかったので、
結局配列もStringBuilder/Bufferも使わないアナログなやり方で完成しました(´・ω・`)
ありがとうございます。
>>764
ひねくれものですかね?ヽ(´ー`)ノ

766:デフォルトの名無しさん
08/08/30 18:46:46
>>765
理解したいなら、reverseのソース読むべきじゃね?

767:デフォルトの名無しさん
08/08/30 18:53:12 BE:511027586-2BP(5957)
ボタンを押すと定められた波形・音程で音が鳴る、という簡単なアプレットをMac OS X上で作りました。
当然Mac上では問題なく動くのですが、Windowsではうまく動きません。
音意外の部分は問題ない挙動なのですが、どうにも音だけが出ません。(サンプルレート8000、ビットレート16、モノラル)
Javaのバージョンも最新です。
何か心当たりのある方、教えて頂けると助かります。お願いします。

768:デフォルトの名無しさん
08/08/30 19:15:02
テーブルで常に一行だけしか選択できないようにする方法ってあります?


769:デフォルトの名無しさん
08/08/30 19:32:00
>>702
じゃあ、これから正直になりますので、友達になってください。

770:デフォルトの名無しさん
08/08/30 19:45:00
>>768
APIドキュメント見てもいないのか?
JTable#setSelectionMode 辺りを探れ

771:デフォルトの名無しさん
08/08/30 19:49:13
>>765
どんな方法にしろ、目的を達成するプログラムが書けたのならOKだ。
後は 766 の言うように他の同じことをするプログラムを見て、違いを観察するんだ。
自分で書き、他人のを読み、違いを吸収して次に生かせばいい。

772:デフォルトの名無しさん
08/08/30 20:29:55
>>761
AdjustmentListenerは?
scrollPane.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener(){
int oldValue = 0;
public void adjustmentValueChanged(AdjustmentEvent e){
if(e.getValueIsAdjusting()) return;
System.out.println("Adjusted: " + (oldValue - e.getValue()));
oldValue = e.getValue();
}
});
とかで

773:デフォルトの名無しさん
08/08/30 21:00:41
java初心者です。お聞きしたいことがあります。
javaからPHPにバイナリデータを渡したいのですがデータの中に0x00が
含まれていると2byteの0x5c,0x30に置き換わってしまいます。
どなたかご教授おねがいします。

String postParams = "p1=";
byte[] byteBuf new byte[1024];
OutputStream oStream = null;
:
con = (HttpConnection)Connector.open("URLリンク(localhost)", Connector.READ_WRITE, true);
con.setRequestMethod(HttpConnection.POST);
con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");

oStream = con.openOutputStream();
oStream.write(postParams.getBytes());
oStream.write(byteBuf); //←ここのDATAに0x00が含まれていると
oStream.close();

con.connect();
:

774:デフォルトの名無しさん
08/08/30 22:45:54
>>773
>byte[] byteBuf new byte[1024];
コンパイル通ってるコード?
byteBufに実際は何を入れてるのか。

775:デフォルトの名無しさん
08/08/30 22:54:34
HTTP POST でベタにバイナリなんて送れたっけ?

776:デフォルトの名無しさん
08/08/30 23:00:20
JTableでアクティブな行は青色になりますよよね?
それに加えて行の中でクリックしたセルだけ青い囲みがかかるんですけど
このセルの囲いをなくすことってどうやったらできるんでしょうか?
検索してもちょっとわからないので、、、ご教授ください。

777:デフォルトの名無しさん
08/08/30 23:02:31
>>772
おお、ありがとうございますm(_ _)m
無事にできました。

778:デフォルトの名無しさん
08/08/30 23:12:07
>>776
setCellSelectionEnabled(boolean)とかなかったっけ?

779:デフォルトの名無しさん
08/08/30 23:16:39
>774,775さん

上記例では部分抜き出しで書きましたがコンパイルは通ってます。
データは仮に
[0xff,0x10,0x00,0xff]だとしたらPHPで受け取って
そのまま送り返して調べた結果では、
[0xff,0x10,0x5c,0x30,0xff]となってます。
画像データなども送りたいと考えているのですが。

宜しくお願いします。


780:デフォルトの名無しさん
08/08/30 23:55:40
データの持ち方について質問です。
プリミティブ型はスタックにデータを持ってて、ヒープ領域は使わないと認識してますが合ってますでしょうか。
それと、プリミティブ型の配列はヒープ領域を使ってて、要素0のデータへのアドレスをスタックに格納して、ヒープ領域では連続した領域に格納されているという認識で合ってますでしょうか。
あと、オブジェクト型の配列でも同様に、ヒープ領域では連続した領域に保持されているのでしょうか?

781:デフォルトの名無しさん
08/08/31 00:04:13
>>778
うーむ、それだとセルのみ選択したときに色がつくようになっちゃうんですよね・・・。
逆のことをしたいんですが、何かないでしょうかね。

782:デフォルトの名無しさん
08/08/31 00:11:39
>>779
>byte[] byteBuf new byte[1024];
なんて、コンパイル通る訳無いだろ。
コンパイルも通らないコードなんか載せられても何も答えられんわ

783:デフォルトの名無しさん
08/08/31 02:01:47
>>780
jvm.dllの実装上の問題です。普通はそのように実装するんですけど、あなたにピッタシのAPIはByteBuffer.allocateDirectですかね。

784:デフォルトの名無しさん
08/08/31 02:42:37
>>782さん

あああ!、申し訳ないです。'='←書くの抜けてました。
プログラム上ではちゃんと書いてます><

byte[] byteBuf = new byte[1024];
何度もすみません。

785:デフォルトの名無しさん
08/08/31 03:11:15
>>779
コード 0x00 (NUL) が 0x5C 0x30 (\0) に変換される、と。

773 では、Content-Type に application/x-www-form-urlencoded を指定しています。
この指定自体は、form を送信する際の一般的な設定だと思います。

しかし、この指定によって、クライアントかサーバか、どちらか分かりませんが、
変換が行われてると、私は思います。

つ【パケットキャプチャ】かな?

786:デフォルトの名無しさん
08/08/31 03:33:00
>>781
TableCellRenderer を見れ。

787:デフォルトの名無しさん
08/08/31 03:40:28
>>779
>そのまま送り返して調べた結果では、

PHP が受け取ったモノをチェックしろよ。
送り返して調べたって、送り返す時にヘマしてたら分かんなくなるだろ。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4354日前に更新/268 KB
担当:undef