[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 15:14 / Filesize : 271 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 22:10:53 ]
過去ログ、関連スレッド、よくある質問とその回答、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
www.wikiroom.com/java/

これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。

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

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

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

JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作板をご利用ください。pc10.2ch.net/hp/

次スレは>>980あたりで。

891 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 17:45:05 ]
素数判定プログラムを組んだのですが、エラーが出て動きません。でも、デバッグしてみるとfor文が回っていないようです。どう改善すればよいでしょうか?


public static void main(String[] args) {
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
try
{
System.out.println("数を入力してください");
String line=reader.readLine();
int meth=Integer.parseInt(line);

if(meth<=1){
System.out.println("入力された数字"+meth+"は素数ではありません");
}else{

int cnt=0;
for (int i=0; i<=meth; i++)
{
if(meth%i==0)
{
cnt++;
}
}

892 名前:891 mailto:sage [2007/05/27(日) 17:45:46 ]
if(cnt==2){
System.out.println("入力された数字"+meth+"は素数です");
}else{
System.out.println("入力された数字"+meth+"は素数ではありません");
}

}
}

catch(IOException e){
System.out.println(e);
}catch(NumberFormatException e){
System.out.println("数字に入力できるのは実数です");
}

893 名前:デフォルトの名無しさん [2007/05/27(日) 17:48:02 ]
JAVAで困っているんですけど…
平均点以下の人の人数ってどうやって出すんですか?
public static void main(String[] args)
{

int Wt[] ={45,59,98,60,78,54,90,30,50,67};


int sum = 0;
for (int k=0; k<=9;k++)
{
sum = sum+Wt[k] ;
}
int average_Wt = sum/10;

System.out.println("平均="+average_Wt);


ここまでできたのですが…

894 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 17:53:26 ]
基準が得られたんだから、もう一回回せばいいじゃない。
あとここは宿題スレじゃないよ。

895 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 17:53:44 ]
>>891

for (int i=0; i<=meth; i++)

for (int i=1; i<=meth; i++)


896 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 17:54:49 ]
>>891
for (int i=1; i<=meth; i++)
デバッグする余地も無い

897 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 17:57:22 ]
>>893
念を押しとくがそんなもんで宿題スレになんか行くなよw

898 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 17:57:44 ]
>>894
出来れば1回のループで判断してしまいたいのです

899 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 17:58:01 ]
>>895-896

とんでもない見落としでした。ありがとうございます!



900 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 17:58:17 ]
コンパイル時の「シンボルが見つけられません」っていうエラーはどういう意味ですか?

901 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 17:58:48 ]
>>898
むり

902 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 18:04:26 ]
>>900
プログラムに書かれているシンボルをコンパイラが理解できなかった時に出るエラー
パッケージ名とかクラス名とかメソッド名とか変数名とかがたぶん間違っている
importしていないとか完全名でないとかでクラス名が解決してないんじゃないの?
もしくは定義していないクラスや変数を使った

903 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 18:06:46 ]
>>やくざさん
平均を得た後に、得られた平均と各データを比較して
"以下"の数をカウントするしかない。一回では無理。
俺が未知の何かを使って実現できたとしても、逆に複雑になる予感。


あとは、配列の中身はともかく1, 0以外の定数は(ry

int Wt[] ={45,59,98,60,78,54,90,30,50,67};
int sum = 0;
for (int k=Wt.length -1; k>=0; k--) { 
 sum += Wt[k];
}
int average_Wt = sum / Wt.length;
System.out.println("平均="+average_Wt);

904 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 18:08:59 ]
Bツリーとか構築して
格納しながら平均出してけば
ループは1回で済むかもね

905 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 19:03:07 ]
>>890
ありがとう

import java.util.Date;
import java.text.DateFormat;

public class DiplayDate{
public static void main(String[] a){

Date dt = new Date();
DateFormat dfm = DateFormat.getDateTimeInstance();

System.out.println(dfm.format(dt));
}
}

import java.text.DateFormat; をimport java.text.SimpleDateFormat;にしたい場合、ソースは変えればいい?

906 名前:905 mailto:sage [2007/05/27(日) 19:04:37 ]
ソースは変えればいい?

訂正
ソースはどう変えればいい?


907 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 20:02:57 ]
>>906
せめて、
SimpleDateFormat dfm = new SimpleDateFormat();
とでも打つってくらいはしろよ。

この手の連中が自分の給料とほとんど大差ない金貰ってると思うと反吐が出る。

908 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 20:14:39 ]
>>906
バカは手と頭を動かさない
>>907
厨学生の小遣い程度しかもらってないのか?
それはもう転職する!

909 名前:デフォルトの名無しさん [2007/05/27(日) 20:22:46 ]
初心者です。
分岐条件のwhile文あたりまで進んだ者です。
「繰り返し実行する」の条件で
i++;

i+2;
とかにできないもんでしょうか?


課題で

2
4
6

と表示せよ
といった問題がでて困ってます。
どなたか教えてくれないでしょうか?





910 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 20:26:19 ]
2 足せばいいじゃん。

911 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 20:35:38 ]
下記の作業で例えば10を入力すれば1〜0までが表示されますよね?
この表示結果が縦に1〜0が表示されるのですが、改行せずに横に1〜0までを表示させるためにはどう改善すればいいのでしょうか?

try
{
       System.out.println("数を入力してください");
String line=reader.readLine();
int x=Integer.parseInt(line);

for(int i=1; i<=x; i++){
System.out.println(i%10);}}

912 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 20:37:18 ]
あえていうならi+=2とかか?

913 名前:909 mailto:sage [2007/05/27(日) 20:37:39 ]
>>910
こんな、感じのコード書いてみたんですけど
 class Kadai01{
  public static void main(String[]args){
  int i;
  i=2;
  while (i<7);
  System.out.println(i+"回目繰り返す");
  i+2;
  }
 }



i++;

i+2;
にしたらコンパイルエラーがでるんですけど。

914 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 20:38:27 ]
println の ln は line の略。
ということは・・・。

915 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 20:41:30 ]
>>914
tnks

916 名前:909 [2007/05/27(日) 20:47:50 ]
>>912
ありがとうございました!!!


917 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 20:48:34 ]
>>913
頼むから開発会社に就職はしないでくれよ。
あと1冊くらい簡単な本読んでくれ。

i = i + 2;

918 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 20:49:02 ]
>>913
代入とか演算子とかわかってるか?

int a = 1 ;
System.out.println(a) ;
System.out.println(a+1) ;
System.out.println(a) ;
System.out.println(a++) ;
System.out.println(a) ;

ってやってみ

919 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 21:53:01 ]
スレとは関係ないけど素数判定はルートNまででOK



920 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 21:59:36 ]
ルートNまででOKな理由は数学的センスないと解らないから、N/2まででいいと思う。
NがN/2より大きい数で割れないことくらいは解るからw

921 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 22:39:41 ]
>>920
センス要らないだろ、ルートNって…

922 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 22:52:06 ]
>>921
OK,ならば3行で説明してくれ

923 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 22:56:31 ]
Nを合成数と仮定すると、Nは少なくとも約数を2つ以上持つ。
Nの約数を2つ選び、pとqとすると、明らかにp*q <= Nである。
これより、p、qの少なくとも一方はルートNより小さい(大きいと上の不等式が成り立たない)

924 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 23:05:19 ]
一般人の平均レベルからすると>>923が言えるのは数学的センスがある方だと思うぜ

925 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 23:10:02 ]
>>923
センスあると思う。

926 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 23:17:36 ]
>>923
いや、手放しで素晴らしいと思う。
でも、そう答えられるのは数学センスだと思われw

数学的センスのない人は、「〜と仮定すると、」から出てこないから。

927 名前:デフォルトの名無しさん [2007/05/27(日) 23:18:38 ]
Javaの発音はJava(↓)なんですか?Java(↑)なんですか?


928 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 23:21:22 ]
>>923の前提って教科書かなんかで見た事あるぞ。

929 名前:デフォルトの名無しさん [2007/05/27(日) 23:23:11 ]
>>928
そりゃどこの教科書にも呪文のように載っているし、証明方法なんて一緒だもの。



930 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 23:25:18 ]
>>928
4分でかけるのが素晴らしい

931 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 23:27:20 ]
>>923
合成数24の約数である6と8を考える
6*8 = 42 > 24 となるため、明らかに p*q <= N でない

932 名前:931 mailto:sage [2007/05/27(日) 23:30:17 ]
すま、途中送信
つまり、pとqの条件はNの任意の約数じゃなくてp*q = Nとなるような数、ってこと

933 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 23:33:23 ]
ちょっと待てよ。
するってえと約数てのは何なんだ?
わからなくなってきた。

934 名前:デフォルトの名無しさん [2007/05/27(日) 23:41:27 ]
>>932
いんや、この場合はpとqを約数と限定して問題ない。
何故ならば、合成数と仮定した場合にpとqのどちらもルートN以下の約数であることが証明できればいいから。

935 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 23:54:04 ]
不備があった
N=p*q*r (p,q >= 2, r >= 1)
と読み替えてくれ

936 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 23:55:00 ]
つーかスレ違いなのでここまで

JDK6u1ほしーよーOTZ

937 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 23:58:27 ]
>>934
本質を読め
約数に限定することが問題なんじゃなくて、任意の約数であることが問題なんだよ
それを許すと931のような反例が出る

合成数ならば自身の約数の積として表せる
このことをN = p*q (p <= q)とおくと、pが取りうる最大の値はp = qであるようなp
このとき N = p*p ⇔ √N = p となり、√Nまで調べれば合成数かどうか判断できる

スレ違いなんでここまでに

938 名前:937 mailto:sage [2007/05/27(日) 23:59:45 ]
>>937
リロードしろとあれほど(ry

939 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 23:59:48 ]
同じものを掛けてNになる正数aよりも大きい自然数pでNが割り切れるなら、
q=N/pでもNを割り切ることができ、qはaよりも小さい自然数になる。
つまりNを割り切る自然数は、a以下の自然数の範囲を全て探せば、
aより大きいものはNを探し出したもので割ることで全て得ることができ、
全てを網羅することができる。



940 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 00:00:46 ]
おまいら、やっぱセンスあるって

941 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 00:01:35 ]
それより野球しようぜ

942 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 00:04:01 ]
扇子と野球でリロード大会スレ。

943 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 00:05:38 ]
>>939
その「同じものを掛けてNになる正数a」こそNの正の平方根 √Nってことか。

944 名前:デフォルトの名無しさん [2007/05/28(月) 00:07:51 ]
誰かセッター/ゲッターを分かりやすく解説して。本読んだけど今一分からん

945 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 00:12:33 ]
投手の放ったボールを打つのがバッター(打者)。
放たれた飛球を捕ったのは偶々センター(中堅)。

946 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 00:13:21 ]
      ボコ ☆
 ( o・-・)っ―[] /  
[ ̄ ̄ ̄] (´・ω・`)>>945


947 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 00:14:18 ]
public byte n; というクラスメンバがあるとする。
これは -128 〜 127 までの値をとるよね?
でもそのクラスは実はテストの点数クラスで、
byte を 0 〜 100 の間でしか取れないようにしなくてはいけない。

よって、private byte score; と、アクセスレベルを絞って、
setScoreというセッターで 0 〜 100 までしか、その値をとらないようにする。
ゲッターってのは、一般には単に隠蔽された変数をダイレクトに返すだけ。
getScore() { return score; }

こういうのをカプセル化という。ごめん、これが限界w

948 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 00:23:56 ]
ゲッターは隠蔽された変数をそのまま返すとせっかくのカプセル化が破壊される場合があるので注意。
>>947の場合のような基本型とかイミュータブルな参照型はたぶん大丈夫だが、
そうでない場合は変数そのものではなく、そのコピーを返すようにした方がよい。
でないと、セッターを介しないで隠蔽されたデータを変更できる抜け道を作ることになる。

949 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 00:39:08 ]
たとえプログラムが異常終了しようと、一貫性を守ったまま死ぬぜ!
という武士の志のがカプセル化の一面

void setScore(int score) {
 if(score < 0 || 100 < score) {
  thorw IllegalArgumentException();

暴走して一見正しそうな間違った計算結果を出したり
データを壊されるよりは、
プログラムが異常終了する方が1000万倍まし



950 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 00:44:31 ]
nullを持ったらおかしいようなクラスで
参照型の変数のセッターではnullだったらnull例外を出す

それをしないと全然違うところ(その変数使おうとしたところ)で
ぬるぽ起こして死ぬ

そしてどこでnullであったかを調べるのが大変

951 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 01:19:22 ]
>>944
JavaBeansにはプロパティという概念がある

たとえば、PersonというクラスにStringのnameというプロパティがそのクラスにあるとする

ここでJavaBeansの約束事として、
nameというプロパティを読み出すのはgetName()
書き込むのはsetName(String value)
ということが決まっている

だから、setName(String value)がなければ、
リードオンリーのプロパティになる
場合によっては書き込み禁止でエラー出ることもある

で、
ゲッターとは値を取得するメソッド(getName)を指し
セッターとは値を設定するメソッド(setName(String))を指す

952 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 06:39:41 ]
それはbeanプロパティのアクセッサの話だろ。
そんな後付け仕様の事を聞いてるんじゃなくてプログラミング言語一般に通じる
ゲッタとセッタの意義がわからないって話じゃね?

カプセル化という概念があって自分が持つ情報には外から自由に触らせないためにryって感じに答えた方が良いかと。

953 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 07:23:47 ]
>>952
ならお前が(ry
…というのは置いておこう。


メソッドにしとけば処理を挟める。するとどうなるか?
って視点で考えるといいよ。

…と俺からはこの程度のアドバイスにしておくわ

954 名前:デフォルトの名無しさん [2007/05/28(月) 09:40:24 ]
よろしくお願い致します。

アプリケーションサーバーのGlassFishをリモートのLinuxで起動して、
管理画面、Webアプリなどは動作が確認できたのですが、
スタートアップ時に表示される中の

Standard JMX Clients (like JConsole) can connect to JMXServiceURL:
[service:jmx.rmi://jndi/rmi://www.xxx.com:8686/jmxrmi]

として出るURL(service:jmx.....jmxrmi)を指定して、JConsoleでの接続を試
みましたが、

--接続に失敗しました:再試行しますか?--

と出て、これがどうしてもつながりません。


IDとパスワードは、4848ポートの管理画面と同じものを入力しています。
ブラウザから、www.xxx.com:8686/にアクセスすると白い画面が
出るので、ポートへの接続自体は問題ないと思われます。また、念のため、
こちら側のファイアウォールも切っています。

サーバー:
Linux
Sun Java System Application Server Platform Edition 9.0
JDK1.6

クライアント:
WindowsXP
JDK1.6

です。何か、思い当たられることがありましたらご教授頂ければ幸いに思います。

955 名前:954 [2007/05/28(月) 09:59:23 ]
一応、
java.sun.com/j2se/1.5.0/docs/guide/management/faq.html#linux1
も見て、
hostname -iは127.0.0.1ではなく、
また、
/sbin/iptables --listでも
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:8686
と表示されております。重ね重ねですみません。

956 名前:デフォルトの名無しさん [2007/05/28(月) 15:40:36 ]
<html>
途中省略
<a href="xxxxx">AB1</a>
<a href="xxxxx">AB2</a>
<a href="xxxxx">AB3</a>

</html>


957 名前:デフォルトの名無しさん [2007/05/28(月) 15:45:16 ]
す・・・すいません。キーボードがおかしくなってしまって、書きかけが投稿されてしまいました。
<html>
途中省略
<a href="xxxx1">AB1</a>
<a href="xxxx2">AB2</a>
<a href="xxxx1">AB3</a>
</html>
というhtmlからAB1の<aタグのリンク("xxxx1")を取得するにはどうしたらよいでしょうか。
getElementsByTagName("a")で<aタグの列挙はできたのですが、AB1であることを調べる方法がわかりません。


958 名前:デフォルトの名無しさん [2007/05/28(月) 15:52:02 ]
例えば
if(time==20){//2秒の時
  face._rotation -= 30;//faceの角度を-30
righthand._rotation -= 20;//righthandの角度を-20
lefthand._rotation -= 10;//lefthandの角度を-10
rightfoot._rotation +=5;//rightfootの角度を+5
leftfoot._rotation -=4;//leftfootの角度を-4

というような物をテキストファイルからStringで読み込んだとして
rocationの部分だけをrotと書き変えてif(time==20){//2秒の時
  face._rot -= 30;//faceの角度を-30
righthand._rot -= 20;//righthandの角度を-20
lefthand._rot -= 10;//lefthandの角度を-10
rightfoot._rot +=5;//rightfootの角度を+5
leftfoot._rot -=4;//leftfootの角度を-4

と出力するようにするにはどうすればよいのでしょうか?

959 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 18:15:19 ]
>>958
単純に全てのrotationをrotに置き換えたいのなら
置き換え後文字列 = 置き換え前文字列.replaceAll("rotation", "rot");



960 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 18:30:13 ]
>>957
質問がメソッド名だけで情報が少ないから当てずっぽう
aエレメントが取れたら、その最初の子ノードがAB1とかAB2とかのテキストノード
aElement.getFirstChild()でたぶん取れる
そのノードの文字列そのものはNode#getNodeValue()でいけるはず

961 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 19:56:53 ]
コマンドプロンプトを開いたらC:\Documents and Settings\〜になっているのですが
このデフォルトのパスを変更するにはどうやったらいいんでしょう?
javaファイルをCドライブのjavaフォルダに入れていて開くたびにcd C:\javaと打って
毎回変更しているのですが面倒なので開いたらC:\javaの状態になっているようにしたいです。

962 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 20:11:30 ]
>>961
コマンドプロンプトのショートカットでC:\javaを作業フォルダに設定して
おけばよい。(プロパティのショートカットタブに「作業フォルダ」の欄がある)。

スレちがい、いたちがいだから。これ以上の質問は受け付けません。
>>1を読め


963 名前:デフォルトの名無しさん [2007/05/28(月) 21:03:55 ]
簡単な質問です。java初心者なのでお許しを。

javaを開発するためには何を入手すればいいのでしょうか。
sunのページには何度かいったのですが、どこからダウンロードすればいいかわかりません。
どなたかご教授お願いします。

964 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 21:10:52 ]
>>963
jdkか、jreを入れた環境でeclipseを使うか…
java.sun.com/javase/downloads/index.jsp

あと「初心者なので」とかいう免罪符は掲げないほうが心証いいよ

965 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 21:10:56 ]
javaで開発する、ってことだよな?
いきなりsunに行かずに、「基礎」「入門」あたりのキーワードで検索
よさそうなページをみつけて、そこの手順に沿ってダウンロードすればいい

966 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 21:11:45 ]
>>963
ttp://java.sun.com/javase/ja/6/download.html
JDK6u1

Wiki嫁って>>1差そうとしたけど、Wiki今、混み合ってて見れないって。
取りあえず、教授してやったぞ、ほーれー

# ついでに「教授」についてもググっときなさい

967 名前:デフォルトの名無しさん [2007/05/28(月) 21:20:06 ]
public class H {
public static String func(String arg) {
return arg;
}
}

public T {
public static String func(String arg) {
String dest = arg;
return dest;
}
}
って違いがあるのでしょうか。スレッドセーフかの視点でみて。

968 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 21:22:19 ]
                ,-,,,,、                    ,-,,,,_
       ,,,,,,,、    ,,,,,,_゙'-,. "'i、       .,,,,,,,、    ,,,,,,,゙'-、^'i、    .i,¬ー-、
       ゙''i、`\   \.`''-\,,l゙       `'i、 `''i、   ‘'-,`''-\,,l゙     ^'i、 ,)
       丿 ,l,_,,,,,,,― |i、 }         丿 Z_,,,,,,-ヘヽ、゙l        | .|      __
      ,/ ,,-----=@,,,7゙"`        ,/ ,,-----=@,,,)゙″           | |   .,,-'",,,,,,、`'i、
     ,/`./    / 丿             / .,/`   ,l゙ 丿       |゙ヽ,,,―" `゙'ュ‐゙_,/゛  |  |
    .,/.,,/`    /` 丿         ,/ ,/    ,/ 丿          \,,,,-‐,!  '`,/    .|  l゙
  ,,-",,/    丿 ,i´           ,/_,/    丿 ,i´           丿 ,,,i´     ,!  |
 i彡‐"     ,/` ,/`           ィ,ン'"     / ./              ,/  .|       |  |
        ,,i´ ./                ,,‐`./            ,/`.,┤ |       |  |    ./゙|
      .,/ .,/                   ,/ .,/            / 丿 | .|      { {   .,/ ,l゙
     ,,/ ,/`               ,,/ ,/`            / ,、゙'-,| l゙         |  }, ._/.ノ
  _,/゙,,/゛                  _,/゙,,/゛              l゙ .,/`\  |       ヽ,_ ゙"゛,,/
  (ン'"゛                 (ン'"゛                `″  ゙l 丿        `゙゙゙゙゛


969 名前:963 [2007/05/28(月) 21:33:15 ]
有り難うございました。
皆さんのおかげで解決できました。



970 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 21:37:21 ]
>>968
ぐぐる用語でも教えてください。
スタックフレームクラス遣えばなんとか実験できそうなんですが、試行錯誤中

971 名前:webmaster@気まぐれアナスイ mailto:192.168.0.1 [2007/05/28(月) 21:50:47 ]
>>968
   {???}
    ζ
     !(+Φ_Φ)つ√ζ
    +⊂. + 〆∂   {Ж}
    "〆∂∂
   〆〆
  .:"



972 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 22:06:14 BE:165087735-2BP(100)]
>>967
下のは余計な事やってるだけ

973 名前:デフォルトの名無しさん [2007/05/28(月) 22:12:51 ]
javaで共有メモリの使い方ってどうやってやるのでしょうか。

974 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 22:16:02 ]
無いからメモリマップドファイルで代用して。

975 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 22:27:30 ]
Javaの発音はJava(↓)なんですか?Java(↑)なんですか?

976 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 22:30:12 ]
Javaだね、Java (=ω=.)

977 名前:デフォルトの名無しさん [2007/05/28(月) 23:19:00 ]
/*<APPLET CODE="GUI.class" WIDTH=500 HEIGHT=500>
</APPLET>
*/
の数値を変えてもアプレットビューアの大きさが変わらないのはなぜですか?

978 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 23:21:10 ]
スレとは関係ないけど素数判定はルートNまででOK

979 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 23:29:41 ]
>>967
後半は、クラス定義がないから動かんな。

は、さておき。

String dest は、最適化で削られる可能性ないか?



980 名前:デフォルトの名無しさん mailto:sage [2007/05/28(月) 23:46:21 ]
Java始めた初心者ですが、質問です

Java について言及しているサイト等で
クラスSomeClass のメソッドsomeMethod を表すのに
SomeClass#someMethod
という書き方をしているのを何回か見かけました

これはJavaで標準に用いられている表現なのでしょうか
それとも(オブジェクト指向の)言語一般に用いられているもの
あるいは他言語でよく使われる表現を、そのサイトの執筆者がたまたま用いたものなのでしょうか?

メンバ変数someField、メソッドsomeMethod があるとして
それらを示すのにJavaで標準的に用いられている表現がありましたら教えてください

981 名前:デフォルトの名無しさん [2007/05/29(火) 00:10:58 ]
>>979
最適化で削られるも考えないでください><
staticメソッドはクラスで一つって言葉の解釈の仕方がよく分からないのです。
スレッドA,B二つあって、Aが関数をfunc("A");として実行後、仮引数がString destに格納された所でBスレッドがfunc("B")を実行した場合、
いったいstaticメソッドの中はどうなってるの?ってのがイメージ出来ない。
Cでいう関数がstaticメソッドにあたるもの考えていたので、関数はヒープ上にあり、引数はスタックに詰まれる(引数は参照)っていうのもあっていれば、
Aスレッドが実行終わる頃には、Bスレッド実行によってfunc内のdest変数は"B"となって処理される?
この手のクラスTの扱いがだめならservlet全部だめになっちゃいますんで、「マルチスレッドで問題なし」なんでしょうが、
動作イメージが湧かない。
この二つのサイトって正しい情報なんですかね?staticなメソッドについては言及ないようですが・・・
www.nextindex.net/java/perform/storage.html
segroup.fujitsu.com/sdas/technology/web-apl/05-servlet-container.html

982 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 00:20:33 ]
>>980
Javaの標準ではあるが、他の言語では見ないね。
そういう表記法が一般的になった理由は、javadocのリンクがどういうURLになっているかを見れば分かる。
まあ、とりあえず見て。
ttp://java.sun.com/javase/ja/6/docs/ja/api/index.html

983 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 00:40:42 ]
>>982
レスありがとうございます

「#」が用いられるのは、単にURLの #フラグメント の部分をそのまま
受け継いだ影響ということでしょうか

説明する変数/メソッドの種類や特性によって、何かしらの表記のルールが
あるのかと思っていました

ありがとうございました

984 名前:967 mailto:sage [2007/05/29(火) 00:52:57 ]
スタック型のアーキテクト?と呼ぶのですかね、それを勉強しつつ、なんとなーく理解してきました。
まだ論理的にな説明もで傷、・テストコードさえ実装してないですが、
以下のサイトが役に立ったので、はっときます。(勝ってな引用なので一応リンク外す)
変なこと言ってるよ!ってサイトがあれば内容と訂正をこのレスでお願いします><
ttp://java-house.jp/ml/archive/j-h-b/037778.html#body
ttp://www.pro.or.jp/~fuji/mybooks/cpro/cpro.4.5.1.html


985 名前:967 mailto:sage [2007/05/29(火) 00:56:33 ]
すんまそん。あとこれも
i.loveruby.net/ja/rhg/book/thread.html

986 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 00:58:32 ]
>>981
>最適化で削られるも考えないでください><
無意味。コンパイラやVMによってガンガン削られる

>staticメソッドはクラスで一つって言葉の解釈の仕方がよく分からないのです。
インスタンスを幾つ作っても共有されるってこと

>関数はヒープ上にあり
わけわかめ

>引数はスタックに詰まれる
OK

>func内のdest変数は"B"となって処理される?
わけわかめ


987 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 01:10:28 ]
>>983
インスタンスメソッドでは#を使ってクラスメソッドでは.を使うもんらしい。

>>982
Rubyも#を使っている。

988 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 01:51:58 ]
>>987
javadocの慣習で言えば、どっちも#だけど。
#の右側にインスタンスメソッドorフィールドでも関係なしにクラス名がくるぐらいで。

989 名前:デフォルトの名無しさん [2007/05/29(火) 05:17:10 ]
現在、大学で情報系の学部に在籍している者です。
夏休みにソフトウェアを作っている会社でインターンシップをしようと思い、使われている言語がJavaという事で、
プログラミングのクラス、自分でやさしいJavaという本を読んでで基本は学んだのですが、会社の方から見せてもらった
サンプルコード(実際に作られているソフトのサンプルコード)と自分で勉強した範囲を
遥かに凌駕している内容で、正直あせっています。

入門書のレベルから実際にプロの方々が書いているコードのレベルに到達するには、
どのように勉強をしていけば良いのでしょうか?



990 名前:デフォルトの名無しさん [2007/05/29(火) 05:18:13 ]
現在、大学で情報系の学部に在籍している者です。
夏休みにソフトウェアを作っている会社でインターンシップをしようと思い、使われている言語がJavaという事で、
プログラミングのクラス、自分でやさしいJavaという本を読んでで基本は学んだのですが、会社の方から見せてもらった
サンプルコード(実際に作られているソフトのサンプルコード)と自分で勉強した範囲を
遥かに凌駕している内容で、正直あせっています。

入門書のレベルから実際にプロの方々が書いているコードのレベルに到達するには、
どのように勉強をしていけば良いのでしょうか?

991 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 05:42:28 ]
散々既出だけどやさしいJavaは役に立たない。
あれはプログラムを全く知らない素人がちょっと触れるようになる為の本。
入門書以前と考えるべき。

まずは入門書をやる。
Core Java、Head First Java、独習Javaあたりがよく勧められる。
分量的にも内容的にもヌルい本じゃないけど、このあたりを1冊終わらせたならば、入門レベルを卒業と言えるんじゃないかね。

やさしいJava氏ねよ

992 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 06:49:58 ]
>>990
つか、情報系の学部に行く前にいくつかの言語に精通してるのが
普通なんだが。

993 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 08:18:49 ]
>>992
それを言ったらもう手遅れってことじゃないですかw

>>989-990
そんなことはどうでもよくて
入門書を読んでる間はいつまでも入門者

他人が書いたソースを読んでデバッグできれば一人前

君はいち早くそれに気付いたのだからむしろ幸運だよ
とにかく色んなソースを読み・書きまくる

まだ若いんだから焦る必要はない


994 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 08:23:32 ]
>>987
> インスタンスメソッドでは#を使ってクラスメソッドでは.を使うもんらしい。 
これは初耳。へー。
情報源を是非教えて頂きたい。

>>990
勉強してるうちは文法、言語仕様と、Javaならオブジェクト指向をしっかり
頭に叩き込んでおけば大丈夫。
それには自信があるなら、あとの違いは知ってるクラスの量かな。
言語学っぽくいうなら語彙量ってやつ。
こればっかりは経験がモノをいうので、色々作りまくってください。

ちなみに俺が最初に買ったJavaの本はEffective Javaでした…

995 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 08:52:03 ]
>>994
Ruby

996 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 08:53:02 ]
>>990
Jakarta Commons の本とかひととおり見るといいよ


997 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 11:52:27 ]
>>983
javadocに関してはURLやURIのフラグメントから来ている。
一般的なアクセス演算子としては上に上がった通り。

>>992
最近の情報系は>>990みたいな奴ばっかでPL使えるのは少ないよ。
情報系なのにPC系雑誌読むか、PCの話したらヲタ扱いされたって伝奇もある。
中にはマイコン制御とか、組み込みとか、ドライバ自作とか、生粋のギークも居るが絶滅危惧種だね。
そういう連中は実力にあった場所に、それぞれ散っていくので存在自体が霞だよ。
今の情報系とか専門生はギークとのコネはないしね。

まあ、手遅れってのは笑い事じゃないんだが。

998 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 12:34:04 ]
> PCの話したらヲタ扱い
笑い話にならんな、マジで。

とは言え、会社でも休日に勉強とかしている方が少数派だし、雑談で技術の話を振るとヲタ扱いされるわけだもんな。


999 名前:デフォルトの名無しさん [2007/05/29(火) 14:11:54 ]
コンパイルして実行すると、
Exception in thread "main" java.lang.ArrayIndexOutOfBounds:0
というエラーが出るんですが、これはどういうことでしょうか?



1000 名前:999 mailto:sage [2007/05/29(火) 14:16:12 ]
すみません。自己解決しました・・。

1001 名前:1001 [Over 1000 Thread]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<271KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef