【Java編】 学校の宿題は俺にやらせろ 【Java編】

このエントリーをはてなブックマークに追加
1糞すれクリエータ
おい!厨房どもJavaの宿題はここに持って来い!
ただGUIかんけーはめんどクセーから、放置するぞ!

☆丸投げ歓迎 AGE進行☆
2デフォルトの名無しさん:02/12/22 19:29
とりあえずJavaでスクリプトエンジンを作ってください。
仕様としてはANSI-Cで標準関数をサポートしたものでお願いします。
1週間もあればできますか?
3デフォルトの名無しさん:02/12/22 19:37
手数料こみで、238万4000円になりますが、よろしいでしょうか?

請求書はどちらにお送りしましょう?
仕様確定会議を開きたいので、場所と時間を指定して下さい。
担当者と共にお伺いさせて頂きます。
また糞スレかよ・・・
早く冬休み終わらないかなぁ
5デフォルトの名無しさん:02/12/23 00:06
>>4
愚痴ってないであんたが良スレ立てればいいじゃん。
用もないのにスレ立てるかよ、アホ。
7デフォルトの名無しさん:02/12/23 00:08
javaをどこまで極めればマスターしたと言えますか。
ジェームス・Goslingに「OK」と言われればmasterしたといえます。
どんなレベルの奴でも、

「俺はjavaマスターです」

と口走った時点でバカ確定。と言うのは確か。
>>7
有能な香具師 3日
普通な香具師 7日
馬鹿な香具師 30日
http://pc3.2ch.net/test/read.cgi/tech/1040554229/l50
このスレで出された問題をここで解く、ってオチになりそう

どっちも糞スレだがナ
法律家は忙しいですね:-)
エクスプローラ作ってください。
学校の宿題。
>>13
GUI関係放置だっていってんだろ〜( ゜д゜)ゴラァ
>>7

Java言語を自分で一から書けるようになったら邪婆増す多ー
16デフォルトの名無しさん:02/12/23 07:22
1CSV形式のデータを読み込んで画面に出力するプログラム
2入力したデータをCSVファイルの中から検索してその行を表示するプログラム
検索対象は、全ての列が対象です。

この2つをよろしくお願いします。
言語別にスレ作るほどか?

宿題手伝いますYO!!
http://pc3.2ch.net/test/read.cgi/tech/1038024989/
>>17
かわいそうな子なんだよ。
>>16
1CSV形式のデータを読み込んで画面に出力するプログラム

import java.io.*;
import java.util.*;

public class OutDatacsv{
public static void main(String args[]) throws FileNotFoundException,IOException{
Vector data = new Vector();
BufferedReader br = new BufferedReader(new FileReader("CsvFile.csv"));
String csvItem;
while((csvItem = br.readLine()) != null){
data.add(csvItem.split(","));
}
br.close();
String retItem[][] = new String[data.size()][];
data.copyInto(retItem);

for(int i=0; i<data.size(); i++){
for(int l=0; l<retItem[i].length; l++){
System.out.print(retItem[i][l]+"\t");
}
System.out.print("\n");
}
}
}
>>16
2入力したデータをCSVファイルの中から検索してその行を表示するプログラム

import java.io.*;
import java.util.*;

public class SelectDataCsv{
public static void main(String args[]) throws FileNotFoundException,IOException{

Vector data = new Vector();
BufferedReader br = new BufferedReader(new FileReader("CsvFile.csv"));
String csvItem;
final String USER_DATA = args[0];

while((csvItem = br.readLine()) != null){
if(csvItem.indexOf(USER_DATA) >= 0){
data.add(csvItem.split(","));
}
}

br.close();
String retItem[][] = new String[data.size()][];
data.copyInto(retItem);

for(int i=0; i<data.size(); i++){
for(int l=0; l<retItem[i].length; l++){
System.out.print(retItem[i][l]+"\t");
}
System.out.print("\n");
}
}
}
21しまった:02/12/24 11:48
あげ!
22デフォルトの名無しさん:02/12/24 17:45
Javaにdefineとかtypedefはないの?
23デフォルトの名無しさん:02/12/24 20:00
>>22
> Javaにdefineとかtypedefはないの?

public static final int DEFINE = 1;

class myTypedef extends java.applet.Applet{}

プリミティブ型のtypedefやマクロはできない。
24デフォルトの名無しさん:02/12/24 21:01
Javaって使えないね!!
25デフォルトの名無しさん:02/12/24 21:47
>>24
×Javaって使えないね!!
○Javaを使えないよー
26名無し@沢村:02/12/24 21:50
ヌヒ等よ、今日16個の配列を一度にマージしなあいという問題が会社の宿題で出たんだが、やって♪
>>26
よし、ちょっとまってろ。
しなあいんだな?
しないんだな?
292:02/12/24 23:37
オレの出した宿題はどの程度進みましたか?
進展状況を報告してください。
30デフォルトの名無しさん:02/12/25 00:21
>>26
長すぎてレスできねーから2つに分ける!勝手につなぎあわせなさい!

その1

public class MergeSort {

static int a[] = new int[15];
static int b[] = new int[15];
static final int USER_SIZE =15;

public static void main(String args[]){
createInt();
sort();
print();
}

static void createInt(){
for (int i=0; i<USER_SIZE; i++){
a[i] = (int) (USER_SIZE * 100 * Math.random());
}
}

static void sort(){
int seq = 1;
while (seq < USER_SIZE){
merge(seq, a, b);
merge(2 * seq, b, a);
seq = 4 * seq;
}
}
その2

氏ね!
32デフォルトの名無しさん:02/12/25 00:22
その3

3get!!
33デフォルトの名無しさん:02/12/25 00:22
34デフォルトの名無しさん:02/12/25 00:23
その2
static void merge(int size, int from[], int to[]){
int i, j, k, iend, jend;
int start = 0;
while (start < USER_SIZE){
i = start;
j = start + size;
k = start;
iend = Math.min(start + size, USER_SIZE);
jend = Math.min(start + 2 * size, USER_SIZE);
while (i < iend && j < jend){
if (from[i] <= from[j]){
to[k] = from[i];
i++;
k++;
}else{
to[k] = from[j];
j++;
k++;
}
}
35デフォルトの名無しさん:02/12/25 00:24
その3

while (i < iend){
to[k] = from[i];
i++;
k++;
}

while (j < jend){
to[k] = from[j];
j++;
k++;
}
start = start + 2 * size;
}
}

static void print(){
for (int i = 0; i < USER_SIZE; i++){
System.out.print("" + a[i] + "\t");
}
System.out.println();
}
}
36デフォルトの名無しさん:02/12/25 00:24
3つになった・・・
37デフォルトの名無しさん:02/12/25 00:25
じゃましちゃイヤン(#^.^#)
その4

public static void main(String[] args) {
System.exit(-1);
}
39デフォルトの名無しさん:02/12/25 00:26
mainクラスが2つになっちゃったじゃないかようようよう
40デフォルトの名無しさん:02/12/25 00:28
別に俺はいいけどね・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
41デフォルトの名無しさん:02/12/25 00:31
つーか >>28 は誰よ?
俺じゃねーぞ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
42デフォルトの名無しさん:02/12/25 00:31
違った >>27 は誰だよ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
その5

import java.awt.*;
class HelloWorld extends Panel {

HelloWorld() {
setSize(200, 200);
}

public void paint(Graphics g) {
g.drawString("Hello World!!", 0, 100)
}

}
44デフォルトの名無しさん:02/12/25 00:34
どんどんパワーアップしていくな・・・・・・・・・

>>30>>34>>35>>36>>37>>39>>40>>41

が、おれな!
45デフォルトの名無しさん:02/12/25 00:37
おらにカをわけてくれ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

46デフォルトの名無しさん:02/12/25 00:39
2ちゃんから気を集めても、倒せるのプーアルくらいだぞ!
それでもいいのか?
47デフォルトの名無しさん:02/12/25 00:46
イブの夜にム板に来ているおまいら!
仕事熱心 || 勉強熱心だな!

そんなおまいらを愛してる〜〜〜〜〜〜〜〜〜〜〜

#ちなみに >>44と俺、同一人物な!
48宿題請負組合 ◆RbqWg3TvXM :02/12/25 01:03


★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★


              答え役の人は、トリップ必須!


★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
49かおりん祭 ◇VqKAORinK6 :02/12/25 01:05
   ∋oノハヽo∈ / ̄ ̄ ̄ ̄ ̄ ̄ ̄
     从o゚ー゚从< 新スレおめでとうございま−す♪
   = ⊂   )   \_______
   = (__/"(__) トテテテ     
>>48
調子乗ってんじゃねぇよ。質問者は奴隷。回答者は神。
お前らが提案する権利はない。
>>50
厨房はすっこんでろ。
52↑典型例( ´∀` ):02/12/25 18:27
 
53 :03/01/01 15:11
そろそろ誰か問題だせよ!
暇なら画像ビューワかメーラでも作ってて
このスレには死期が近づいている...。
40次の直接型FIRフィルタを作ってください。
Σもろふしあなさん!?>>535
食えりゃなんでもいいよ。
>>411
当然、公開するだろうな
2chは終焉を迎えました。

まっさきにニュース速報が死ぬ事になるでしょう。

やばいレスを返す→被害者が見る→告訴される→
裁判所から命令が→IPあるよ→民事裁判→カネナイヨ。

61デフォルトの名無しさん:03/01/09 14:46
夏休み、冬休みを
「夏厨・冬廚監視強化期間」とし、
選ばれしボランティアたちにあぼーんさせるというのは無理か・・・
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 138720人 発行日:2003/1/9

年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。

そんなわけで、年末に予告したIP記録ですが実験を開始しています。

「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
存在意義が無くとも意味が無くとも存在するものは存在するわけで

ま、どうでもいいよ
串使ったらええんちゃうんかと・・
って問題じゃないの?
何だ。
この人だったのか、、結構前に何かで知り合いに聞いた気が(嘘

有難う御座います。
177も、一先ず頼みますです。深夜なので、少し恐縮なので。。
私の事はご存知で、、且つ
皆様には(非常に嫌々ながら)世界一位の過大評価をして頂いた様で恐縮です。

只実際、それは嘘です。
俺個人としての方が、実は凄いんですよ、、僕の知り合いなんて正直いませんし。(笑
この前のタカラじゃないが、2ちゃんねるをブランド化して
商品でも出したらどうだ? 収入にはならんか?

コンピュータブランドの 2channel PC とか
アパレルとして Hiroyuki Nishimura for Men とか。
正月にスレが伸びないとか言われても
>>681
Apacheはログ取らないように設定されてるよ。
ちなみにログの設定はVirtualHost内で行ってるので
DNSが浸透するまで *.he.net/~ch2* でアクセスしろと
よく言われるがこっちだとばっちりログが残る。
ヤフーニュースに載ってて気になってココに来て見たらんばんじゃこら
71MVC ◆J2EE/XIRXY :03/01/10 14:41
なんかム板全体の制御がおかしくないか?
それとも荒らし?
宿題 ( 期日:2003/01/17 )

1:Javaを使って何か面白いものを作りなさい。

電波@DQNゆえの書き込みなんですけど、未だに「直ぐに判る事実」を、さも
発見〜〜!見たいな感じで書き込む「粘着さん」がいるんですよっと。
今更「腐れさんとの事」を書き込んで、楽しんでいる人がおるわけです。

何処にでも引っ付いてきては、色んなスレに”腐れの粘着女”とか書き込んでくれるんですけど、
そんな「判りやすい事実」を書かれてもねぇ・・・という意味です。


いや、動物病院の裁判で負けた影響でしょう
75MVC ◆J2EE/XIRXY :03/01/10 16:23
>>72

public class Aa{
public static void main(String args[]){
System.out.println(" ワケ ワカ ラン♪");
System.out.println(" ∧_∧ ∧_∧ ∧_∧ ");
System.out.println(" ( ・∀) (∀・ ) (・∀・) ");
System.out.println(" ( ○ つ ⊂ ○ ) ⊂__へ つ ");
System.out.println(" \ \ \ / / / (_) | ");
System.out.println(" (_(__) (_(_) 彡(__)");
}
}
news2鯖に入った瞬間撤退すんなよw>コピペ荒らし
2ちゃんねるのオランダ引越しまだぁ〜
78zzzzzu:03/01/11 04:06
どなたかこの宿題お願いします。
半径r1,r2の同軸円筒の間に流体を満たし、内外円筒をそれぞれ一定の角速度w1,w2で回転させ流体に定常流をつくる。このとき中心軸からの距離rの位置の流体の速度は
v(r)=C1/r+C2r
C1,C2は定数で、
C1=(w1-w2)(r1二乗)(r2二乗)/(r2二乗)-(r1二乗)
C2=w2(r2二乗)-w1(r1二乗)/(r2二乗)-(r1二乗)
で与えられる」
つまり半径r2の中空の円筒の中に半径r1の円筒を入れその間を液体で満たして、二つの円筒をそれぞれ一定の角速度で回転させるわけです。
r1,r2,w1,w2を入力してこの装置を上から見たドーナツ型の液体で満たされた部分の速度分布を可視化せよ
との問題です。だれかやって〜
1 :ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/01/08 17:13 ID:???
   そんなわけで、qbサーバでIPの記録実験をはじめましたー。

11 :ひろゆき ◆3SHRUNYAXA :03/01/08 17:16 ID:rLfxQ17l
   全レスです。

22 :ひろゆき ◆3SHRUNYAXA :03/01/08 17:19 ID:rLfxQ17l
   家族構成と小学校時代の恥ずかしかった思い出も記録されます。

73 :ひろゆき ◆3SHRUNYAXA :03/01/08 17:27 ID:rLfxQ17l
   >ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
   ・今までより、サーバが重くなる。
   ・裁判所や警察からの照会があった場合にはIPを提出することがある。

   こんなところでしょうか。

89 :ひろゆき ◆3SHRUNYAXA :03/01/08 17:29 ID:rLfxQ17l
   >一般人からも見れるところ? 〉記録所
   既存のdatとは別に保存してるので、サーバがクラックされない限りはみれません。

   ただ、既存のdatと別なので、書きこみあたりの保存容量がほぼ2倍。
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 139038人 発行日:2003/1/10

なにやら、連日メルマガだしてるひろゆきです。

そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。

重くなって落ちたりしてもご愛嬌ってことで。。。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
困らない人多数
実況★に立てようよ。
携帯電話からだとIPがかぶることあるけど
その時はどうすんの?
あとNGワードに登録したから>在日の希望の星、快速特派員

さようなら。
86デフォルトの名無しさん:03/01/11 12:58
>78
今どの位やった?提出はいつまで?
既婚板の自作自演厨や犯罪者コテハンがおとなしくなってます。
笑える。


<血液型A型の一般的な特徴>(見せかけの優しさ・もっともらしさ(偽善)に騙されるな!)
●とにかく気が小さい(神経質、臆病、二言目には「世間」、了見が狭い)
●他人に異常に干渉する(しかも好戦的・ファイト満々でキモイ)
●自尊心が異常に強く、自分が馬鹿にされると怒るくせに平気で他人を馬鹿にしようとする
(ただし、相手を表面的・形式的にしか判断できず(早合点・誤解の名人)、実際にはたいてい、内面的・実質的に負けている)
●「常識、常識」と口うるさいが、実はA型の常識はピントがズレまくっている(日本の常識は世界の非常識)
●権力、強者(警察、暴走族…etc)に弱く、弱者には威張り散らす(強い者に弱く、弱い者には強い)
●あら探しだけは名人級(例え10の長所があってもほめることをせず、たった1つの短所を見つけてはけなす)
●基本的に悲観主義でマイナス思考に支配されているため、性格がうっとうしい(根暗)
●一人では何もできない(群れでしか行動できないヘタレ)
●少数派の異質、異文化を排斥する(差別主義者、狭量)
●集団によるいじめのパイオニア&天才(陰湿&陰険)
●悪口、陰口が大好き(A型が3人寄れば他人の悪口、裏表が激しい)
●他人からどう見られているか、体裁をいつも気にしている(「世間体命」、「〜みたい」とよく言う)
●自分の感情をうまく表現できず、コミュニケーション能力に乏しい(同じことを何度も言う、知障)
●表面上意気投合しているようでも、腹は各自バラバラで融通が利かず、頑固(本当は個性・アク強い)
●人を信じられず、疑い深い(自分自身裏表が激しいため、他人に対してもそう思う)
●自ら好んでストイックな生活をし、ストレスを溜めておきながら、他人に猛烈に嫉妬する(不合理な馬鹿)
●執念深く、粘着でしつこい(「一生恨みます」タイプ)
●自分に甘く他人に厳しい(自分のことは棚に上げてまず他人を責める。しかも冷酷)
●男は、女々しいあるいは女の腐ったみたいな考えのやつが多い(他人をけなして相対的に自分の立場を引き上げようとする等)


それと、O♀はエコヒイキきつくて、冷酷だからな。

A♂の異質排除×O♀の冷酷=差別・いじめ とあいなる。
8978:03/01/11 16:41
>86
まだこれから始めるところです。JAVAは少しならさわったことはあるし、
となめてたらいきなりこんな問題でとっても困ってます。
今度の火曜日の昼に提出なんでそれまであがいてみようとは思うんですが
間に合うはずもないんでどなたかできる方いたらお願いします。
90デフォルトの名無しさん:03/01/11 17:08
java(FLAME)からjavaScriptにアクセスするにはどーすればいいんですか?
Baka.util.UnSupportedFormatException: 質問が簡単すぎます。
92デフォルトの名無しさん:03/01/11 18:57
91
簡単なんですか?わからんので教えてくださいTT
93デフォルトの名無しさん:03/01/11 20:04
問題です。
import Java.io.*;
public class kazuate{
public static void main(String args[]){
try{
int *;
boolean flag = true;
String moji;
BufferesReader kbd ; = new BuffereaerReader(new InputStreamReader(System.in));
System.out.println;("数当てゲームを始めます")
System.out.println;("0〜999の数字を入力してください")
int seikai = (int) (Math.random() * 1000);
while(flag){
moji = kbd.readLine();
x = Integer.parseInte(moji);
if(x > seikai && x <= 999){
System.out.println("大きすぎます、もう1回!");
}else if(x <seikai && x >= 0){
System.out.println("小さすぎます、もう1回!");
}else if(x == seikai){
System.out.println("正解です!");
]flag = false;
}else{
System.out.println("入力するのは0〜999の間の数字ですよ");
}
}
}catch(IOException e){
System.out.println("入力エラー: " + e + " が発生しました");
  }catch(NumberFormatException e){
System.out.println("数字の型エラー: " + e + " が発生しました");
94デフォルトの名無しさん:03/01/11 20:17
上のプログラムを変更してください
@正解が出るまでに何回数字を入力したかを数えて、
「正解がでるまで〜回かかりました!」というメッセージを表示する。
Aその回数が5回以下だったら「すばらしい!」
10回以上「勘が鈍いですね」、
5回〜10回の間は「普通です」
と付け加えてください。できますか?
95C++厨:03/01/11 20:33
>>93
エラーでまくりなのは気のせい?
96名無し@沢村:03/01/11 20:40
めへへへへ〜んヌヒ等よ、大変だぞ!!
俺はふと思って2ちゃんねるのあっちこちの板を見て回ったのよ。
格闘技板とかアナウンサー板とかプログラマー板とかをな。
そうしたらな、どこのスレ開いても最近ひろゆきの話題が出てる板はプログラム技術板だけだったぞ!!
ヌヒ等よ、ここは2ちゃんねるいっちゃん恥ずかしい板だぞ!!
97デフォルトの名無しさん:03/01/11 20:45
>95
数当てゲームのプログラム内容です
広末のまんこに俺のティムポ入れたい
広末のきつきつおまんこに中出し・・・(;´Д`)ハァハァ

て書いてもまぁ変わらんわけか
結局は今までと変わらんのだろ?
ただそういう事を書き込む歯止めみたいな感じなのかね

まぁK察かなんかはやりやすくなるんだろうけど
2chが2chでは無くなるときが来ましたね。
遊び方の解らない馬鹿が増えたから、しかたないのかもしれません。
もう転載しませんので、以後は該当のスレ追っかけてください



27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。

こんなところでしょうか。
言われなくても続けるってw

それにさっきからお前の言ってる事は意味不明だ
いや、最近のニュー速は本当に良くなってきたと思うよ。
ニュース速報板だからね。
(^^)
教育委員会は2ちゃんねらー
そうですね。
現行犯の場合は訴えられなくても捕まりますね。
チョト(略
じゃあトリップ変えるか
ハソコン初心者だがアケ板見れるけど?
108山崎渉:03/01/13 18:37
(^^)
405 名前:心得をよく読みましょう 投稿日:02/12/31 11:04 ID:ADTGAx9x
はぁぁぁ。あと、1週間以内で生理・・・。

何事にもむかついてたまらないっ!
生理前って、ブルーになったり、いらいらしたり。。。
ほんと勘弁してって感じ。
110山崎渉:03/01/15 17:58
(^^)
111デフォルトの名無しさん:03/01/15 20:55
洋楽板のものだが、洋楽っぽいプログラム作ってくれ
112デフォルトの名無しさん:03/01/15 23:48
だれか>93分かりましたか?
package RisingForce;

public class Yngwie {
private double weight;
public Yngwie() {
weight = 55;
}
public void increase() {
weight = weight * 1.03;
}
public double getWeight() {
return weight;
}
public static void main(String[] args) {
Yngwie yngwie = new Yngwie();

for ( int year = 1983; year <= 2003; year++ ) {
yngwie.increase();
}
System.out.println("weight is " + yngwie.getWeight());
}
}
114デフォルトの名無しさん:03/01/22 16:29
始めまして、JAVAの素人です。だれか教えてください。

-5.6 % 3.3 と 5.6 % 3.3 の答えの理由、

先にありがとう
116デフォルトの名無しさん:03/01/22 20:26
次のアセンブリ言語で書かれたプログラムは何を計算するのか答えよって問題なんですけどよくわかりません
教えていただけませんか?

MOV $1000,%EAX
MOV $0,%EDX
L1;
CMP $0,(%EAX)
JNZ L2
JMP L3
L2;
ADD(%EAX),%EDX
INC %EAX
JMP L1
L3;

117デフォルトの名無しさん:03/01/22 20:50
わかんないよー

マルチ
>>118 マルチ以前にJavaとどう関係が...
114も同じ内容をeclipse-mlに投げてて笑える.
でもここのeclipseスレには投げないのが興味深い。
>>116
Java に直すとこんな感じだ〜ね。

int eax = 0x1000, edx = 0;
while (memory[eax] != 0) {
  edx += memory[eax++];
}

あとは自分で考えてくだせぃ。
>>78
もう提出期限来た?・・残念だね。

最初見た時、非圧縮性の流体シミュレートかなにかと思ったけど、
なんかよく見ると簡単そうだね。
流体の速度がわかっているなら、ドーナッツ状のものの中の任意の点の
速度を計算式で計算して、ベクトルで表示するだけ。

って遅いか。
122山崎渉:03/01/23 20:03
(^^)
import Java.io.*;
public class kazuate{
public static void main(String args[]){
try{
int *;
boolean flag = true;
int i=0;
String moji;
BufferesReader kbd ; = new BuffereaerReader(new InputStreamReader(System.in));
System.out.println;("数当てゲームを始めます")
System.out.println;("0〜999の数字を入力してください")
int seikai = (int) (Math.random() * 1000);
while(flag){
i++;
moji = kbd.readLine();
x = Integer.parseInte(moji);
if(x > seikai && x <= 999){ System.out.println("大きすぎます、もう1回!"); }
else if(x <seikai && x >= 0){ System.out.println("小さすぎます、もう1回!"); }
else if(x == seikai){ System.out.println("正解です!");
System.out.println("正解が出るまで"+i+"回かかりました!");
if(i<=5){ System.out.println("素晴らしい!"); }
else if(i<10){ System.out.println("普通です"); }
else{ System.out.println("勘が鈍いですね"); }
flag = false;
}
else{ System.out.println("入力するのは0〜999の間の数字ですよ"); }
}
}catch(IOException e){
System.out.println("入力エラー: " + e + " が発生しました");
  }catch(NumberFormatException e){
System.out.println("数字の型エラー: " + e + " が発生しました");
124デフォルトの名無しさん:03/01/27 23:03
質問です。
初心者なのでやさしめにお願いします。
javaで自分のwindowsの中にあるアプリケーションを実行したり関連づけ出来るようなシステムを作りたいんですが、
どのようにやればよいでしょうか??
それに関連してよい例の載っていそうなHPなども教えていただけないでしょうか??
お手数ですが出来るだけ詳しくよろしくお願いします。


HashMap使ってキーから値を引っ張り出すのじゃ
>>93-94
>>123
エラー多すぎですよ!93氏はおそらくプリントか何かを打ち込んだのであろうが
間違いいっぱいありますた。そのため93に手を加えた123もエラー多いです。
おそらくオリジナルは以下のような物であると思います。

//Kazuate.java
import java.io.*;

public class Kazuate
{
public static void main(String args[])
{
try
{
int x;
boolean flag=true;
String moji;
BufferedReader kbd=new BufferedReader(new InputStreamReader(System.in));
System.out.println("数当てゲームを始めます");
System.out.println("0〜999の数字を入力してください");
int seikai=(int)(Math.random()*1000);
while(flag)
127126:03/01/29 00:32
//126の続き
{
moji=kbd.readLine();
try
{
x=Integer.parseInt(moji);
if(x>seikai&&x<=999)
{
System.out.println("大きすぎます、もう1回!");
}
else
{
if(x<seikai&&x>=0)
{
System.out.println("小さすぎます、もう1回!");
}
else
{
if(x==seikai)
{
System.out.println("正解です!");
flag = false;
}
128126:03/01/29 00:33
//127の続き
else
{
System.out.println("入力するのは0〜999の間の数字ですよ");
}
}
}
}
catch(NumberFormatException e)
{
System.out.println("数字の型エラー: "+e+" が発生しました");
}
}
}
catch(IOException e)
{
System.out.println("入力エラー: "+e+" が発生しました");
}
}
}
129126:03/01/29 00:34
で、条件に合うように直したのが以下です。

//Kazuate2.java
import java.io.*;

public class Kazuate2
{
public static void main(String args[])
{
try
{
int x;
boolean flag=true;
String moji;
BufferedReader kbd=new BufferedReader(new InputStreamReader(System.in));
System.out.println("数当てゲームを始めます");
System.out.println("0〜999の数字を入力してください");
int seikai=(int)(Math.random()*1000);
int i=0;
while(flag)
130126:03/01/29 00:35
//129の続き
{
i=i+1;
moji=kbd.readLine();
try
{
x=Integer.parseInt(moji);
if(x>seikai&&x<=999)
{
System.out.println("大きすぎます、もう1回!");
}
else
{
if(x<seikai&&x>=0)
{
System.out.println("小さすぎます、もう1回!");
}
else
{
if(x==seikai)
{
System.out.println("正解です!");
flag = false;
}
131 ◆J2EE/XIRXY :03/02/05 18:28
このスレまだあったのか・・・
まぁぶっちゃけ、このスレ立てたの俺なんだけど・・・
132教えて!エロい人!:03/02/05 20:10
大量に宿題が出されていたのに気づき、締め切りは明日。
出さないよりはマシかと思うので、最初の問題だけ出したいです。
ちなみに授業サボりまくってたので全然わかりません(´・ω・`)
問題1
以下の式を計算して出力するプログラムを書く
(1)10-9-8-7と、((10-9)-8)-7と、10-(9-(8-7))
(2)20/5*2と、(20/5)*2と、20/(5*2)
(3)10+20%3と、(10+20)%3と、10+(20%3)
(4)!true&&falseと、(!true)&&falseと、!(true&&false)

こんな面倒なの教えてくれる人もいない罠
133デフォルトの名無しさん:03/02/05 21:01
Javaソースコードからクラス図とシーケンス図を自動的に
生成するプログラムの作成という宿題なんですが、
誰かできますか?
>>133
無理
>>133
俺はできるけど、それが何か?
>>132
答える気にもならん・・・
入門書の最初の5ぺーじ位まで嫁!
137デフォルトの名無しさん:03/02/05 21:21
Process process = Runtime.getRuntime();
for (int i=0;i < list.size();i++) {
process .exec("cmd /c start myscript.vbs \"" + (String)list.get(i) + "\"");
process.waitFor();

}

でvbsファイルを実行してExcelのマクロをキックしてるんだが、waitForでvbsのプロセスが終わるまで待ってくれてないみたいで素通りしてしまいます。
waitfor()の戻り値を見ると正しく実行されました。
cmdの方のプロセスを握っているのか・・・
ほかにいい方法があれば教えてください。
138デフォルトの名無しさん:03/02/05 21:53
>>312
てめぇMIT(××工業大学)の学生だろ(藁
139デフォルトの名無しさん:03/02/05 21:56
NetBeansで入力終了の指示ってどうやるんだYO?
C-zできねぇ…
140デフォルトの名無しさん:03/02/05 21:57
312にプレッシャーがかかりますた
141デフォルトの名無しさん:03/02/05 22:00
>>139
                           /⌒〜Y⌒"""ヘ   ヘ∨ ∨
                         /⌒/   へ    \|\
            /           /  /   /( ∧  ) ヘ ヘ        
           く           // ( /| | V )ノ( ( (  ヘ\   お  て
    ┘/^|    \         (  | |ヘ| レ   _ヘ|ヘ ) _ヘ    し  め
    /|   .|              |  )) )/⌒""〜⌒""   iii\    え |
     .|  α  _          ヘ レレ  "⌒""ヘ〜⌒"  ||||>    て
          _∠_       イ |  |  /⌒ソi   |/⌒ヘ  <    や に
     _     (_        ) ヘ  | ‖ () ||  || () ||  _\   ん は
     /               (  ) ヘ |i,ヘゝ=彳  入ゝ=彳,i|\    ね
    /ー               ( /  """/   ー""""   >   |
      _)   |          ヘ(||ii    ii|||iiii_/iii)ノヘ|||iiiii<   |||||
          |          ( ヘ|||||iiii∠;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     フ    ""'
    /////   ヘ_/       ) ヘ|||""ヘ===二二二===7フ / ム/∧ ∧ ∧
    /////              (  | ii  | |LL|_|_LLL// |    )( ∨| ∨)
   ・・・・・                ) )| || | |||||||||||||||||||||||| | |   ( ヘ | ヘ ) (
          ___        | | /| .| |||/⌒/⌒ヘ | | |  iiiiヘ ( | ( | /
            /         / (|.| | |       | | |  iii  ) | ヘ )( )
            (          ( /..|  | |_____/ | |  iii  ( )( // /
            \         ) )..|  |ヘL|_|_L/ / /  ,,,,--(/Vヘ)(/
                       / ( .|ヘ \_ヘ |_/ / /
142132:03/02/05 22:00
しまったこんなとこに身内が(´Д`;)
しかも恐らく同学年と限定。
終わってるんなら助けてyo!
143デフォルトの名無しさん:03/02/05 22:09
>>142
終わってるから助けるよ。
テキストのViii見とけ。
そこに答え全部載ってるから。

まあ、課題やったところでテストは落ちるだろうけどなw
また来年一緒に頑張ろうや…
学籍の下3桁教えてくれればコピーして直接渡してあげるよ。
144132:03/02/05 22:19
>>143
マジで?? 神…。
テキストViii言われても持ってない罠。
学籍の下3桁といわれても晒すのはちょっと度胸がいるが…
信じていいのかなw
145138=143:03/02/05 22:29
とりあえず2.1.1だけ教えるよ。

class Foo {
public static void main (String[] args) {
System.out.println(10-9-8-7);
System.out.println(((10-9)-8)-7);
System.out.println(10-(9-(8-7)));

System.out.println(20/5*2);
System.out.println((20/5)*2);
System.out.println(20/(5*2));

System.out.println(10+20%3);
System.out.println((10+20)%3);
System.out.println(10+(20%3));

System.out.println(!true&&false);
System.out.println((!true)&&false);
System.out.println(!(true&&false));
}
}


まあ、信じるのも信じないのも勝手だが、信じて晒せば全部教えられるよ。
146132:03/02/05 22:49
あんたいい香具師だな・・・
久々に感動したよ。
でも2.1.1に答えてくれただけで十分です。
俺と似たような、うだつ上がらない友人達もなんか今からやろうとしてるし。
もうちょい頑張ってみますわ。
どうもありがとう!



でも別に番号晒さなくても待ち合わせすればOKな気もするけど…。
ハッ!(゚д゚ )マサカ釣ラレタ?
147138:03/02/05 22:52
>でも別に番号晒さなくても待ち合わせすればOKな気もするけど…。
番号で人物特定して、知ってる奴かどうか確かめたかっただけだ。
知らない奴だったり嫌いな奴だったら以後放置しようと思ってな。
148 ◆J2EE/XIRXY :03/02/05 22:57
>>145
はたしてこれが、感動されるほどのソースなのか?????

MITって名前とは裏腹に、かなりのDQN大学とみた・・・
もしかして、大阪工業大学か?
149132:03/02/05 23:01
なるほど。
まあ言ったとおりうだつの上がらない奴だよ。
俺としてもあなたが誰か気になるところだけど、謎のままでも面白いや。
ちょっと祭り気分で楽しかった。じゃあお互いテスト頑張ろう。
てか勉強もしないでこんなとこにいるなとw
150132:03/02/05 23:03
>>148
いやいや、こんなネタまがいの書き込みにほんとに反応してくれたことにさ。
それと単に俺がDQNなだけです。
大学の何年生でJAVAって勉強するの?
152 ◆J2EE/XIRXY :03/02/05 23:12
>>150
自分のことをそう悪くいうもんじゃないよ!















                                  DQNがぁ〜
153138:03/02/05 23:13
>>151
うちの大学でjava始めるのは二年だよ。
132はプログラムわからないっていうより、
テキスト持ってないからjavaがわからないってだけかと。
C言語なら並の大学生くらいにはできるっしょ。
教官が漫談だけで講義終わらせるから自習しないと何も覚えないんよ。

>>132
こっちも楽しかったよ〜
154138:03/02/05 23:19
多分最後の書き込み












風呂入ってくるw
面白くてageで書き込んじまってすまんかった。
155132:03/02/05 23:28
てか今さらViiiの意味が分かったよw(゚∀゚)アヒャ
どうもありがとねー。

ところでさ〜、きみ「な○○」じゃない?w
156132:03/02/05 23:40
ちょっと待て・・・
155は俺じゃないぞ。騙るなよ〜。
って、そんなことより
まさかもう一人身内がいたって事か??
うちの大学の8割が2ちゃんねらってのは本当だったのかなw
ちなみに「な」で始まる3文字の香具師は一人しか思い浮かばないが。
それとViiiの意味ってどういうこと? いまだに分からんし。
157132:03/02/05 23:43
>>156
おい!偽者はひっこんでろ!

158お願いします:03/02/06 06:54
宿題してます。助けて下さい。
問題は

Assume that a Choice object has a registered listener.
Code the method header of the method required by the
listener to handle the events fired by the
Choice object.
です。

これでいいのかなあ?
--> public void itemStateChanged(ItemEvent e)
159138:03/02/06 10:20
>>132
「な○○」は一人しかいないな。
まあ、俺は「な○○」じゃないけどな。

>それとViiiの意味ってどういうこと? いまだに分からんし。
viiiにソースプログラムが載ったURLがあるって意味です。
http://www.saiensu.co.jp/book_support/4-7819-0942-6/

テスト駄目ぽ…
来年頑張ります…
160132:03/02/06 19:41
>>138
なるほど〜。ありがとう、それでレポートが出せそうだよ。
まあ出したところで、テストで1問も解けなかったけどなー(つд`)
しかも来年うかるかどうかも怪しいもんだ…
逝ってくる
カチャ
  ;y=ー( ゚д゚)・∵. ターン 
  \/| 132|)
161デフォルトの名無しさん:03/02/10 17:56
はじめまして。
コマンドライン引数で与えたフォルダの中にあるファイル名を(できればフォルダ名も)全て読み取り、
それを〇〇.txtに書き込みたいのですがどのようにすればできるでしょうか?
テキストファイルの文を読み込むときはreadLine()などで指定したテキストファイルから1文ずつ読み取ればいいとかは分かりますが、
フォルダを指定して、その下のフォルダ名、ファイル名だけ取得というのはできますか?
C:\Java\kadai2>javac Kadai2 フォルダ名 kekka.txt
みたいにしてやりたいのですが。
宜しくお願いします。
162デフォルトの名無しさん:03/02/10 18:04
関数電卓をお願いできませんか?
手作り感あふれるものがいいです。

ネットで検索したものだとバレるのでやばいんです。。。
>>161

java.io.File#list()
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/io/File.html

ディレクトリのファイル一覧を得たい [j-h-b:708]
http://java-house.jp/ml/topics/

[JavaHouse-Brewers:708] Re: File Name to String
http://java-house.jp/ml/archive/j-h-b/000708.html#body
164161:03/02/10 18:33
>>163
どうも親切にありがとうございます。
教えていただいたサイトで調べてみます。
165161:03/02/10 22:10
すいませんテスト用で作ってみましたが・・
testというフォルダの中にtest1.txtとtest1というフォルダがあります。
import java.io.*;
class Filelist{
public static void main(String args[]){
try {
File f=new File(args[0]);
String s[] = f.list( );
int i=0;
while(s[i].equals(null)!=true){
System.out.println(s[i]);
i++;
}
}
catch(Exception e){
System.out.println("No such directori");
}
}
}
で実行すると
C:\Java\practice>java Filelist test
test1.txt
test1
No such directori
こうなってしまいます。ファイル名が格納されてないなら
No such directoriと表示させたくないのですがどうすればいいでしょうか?
コメントアウトしる!
//System.out.println("No such directori");
167161:03/02/10 23:28
>>166
ごめんなさい・・・
初歩的なことすぎて泣けてくる
>>165

args[0] と、いきなり配列 args の最初の要素にアクセスしようとしているが少なくとも
要素が1つはあることを確認したほうが良い。要素がゼロ個の時は、エラーメッセージ吐いて終わる、とか。

配列 s が持っている要素の個数(配列の長さ)を越えてアクセスすると、
java.lang.ArrayIndexOutOfBoundsException
という例外が発生するのだが、プログラム全体が1つの try catch に囲まれてしまって
いるため、それに気づくことができなくなっている。初心者は面倒でも細かく try catch を使うべし。

このプログラムの場合、指定されたディレクトリが存在しない時は、File#list() の戻り値が null になる。
これを検出して、メッセージを表示すればよい。(このプログラム場合 try catch はそもそも必要ないと思う。)

while で配列の各要素に順にアクセスしようとしているが、配列の要素に順にアクセスする際に
頻繁に使われるイディオムがある。for を用いて次のように書く。

for (int i=0; i<array.length; i++) {
  // array[i] を使った何かをここに書く
}

ディレクトリのスペルが間違っている。間違うくらいなら日本語で書く。No Such が何を指しているのか
を明記する。エラーメッセージは System.out ではなく System.err に吐く。
169168:03/02/11 01:51
import java.io.File;
public class FileList {
  public static void main(String[] args) {
    if (args.length < 1) {
      System.err.println("ディレクトリ名を指定してください。");
      System.exit(1);
    }
    File f = new File(args[0]);
    String s[] = f.list();
    if (s == null) {
      System.err.println("ディレクトリ" + args[0] + "がありません。");
      System.exit(1);
    }
    for (int i=0; i<s.length; i++) {
      System.out.println(s[i]);
    }
  }
}

2ちゃんねるにプログラムソースを書くときはインデントに全角スペースを使う。
170161:03/02/11 11:05
おはようございます
>>168>>169
深夜にお疲れのところ長文、プログラム書いていただいてありがとうございます。
とてもわかりやすくてためになりました。参考にさせてもらいたいと思います。

今日は朝からGUIを勉強中・・難しいけど結構おもしろいです。

話を戻しますと先ほどのプログラムを使いフォルダ名の指定で、
C:\Java\practice>java Filelist2 ../../cpp
と打つとcドライブの中のcppフォルダの中の一覧が見れますが、
C:\Java\practice>java Filelist2 ../../My documentsと打つと
ディレクトリ../../Myがありません。
と表示され見ることができません。
スペースの入っているフォルダの中を表示させるにはフォルダ名を変更するしかないのでしょうか?
コマンドラインから直接フォルダを指定して、中を確認するプログラムにしたいのですが・・
他の方法で見ることができるのであれば教えて頂きたいです。
宜しくお願いします。
171デフォルトの名無しさん:03/02/11 13:54
javaアプレットで画面のクリアの中止(よくお絵かきプログラムなんかである)に

public void update(Graphics g) {
paint(g);
}

なんかを使うと思うんですけど、
コンポーネントで画面をクリアするボタンを作りたいのですが、
画面をクリアするやり方を教えてください
>>171
repaint();
で可能
裏でいろいろやって勝手にupdateを呼び出してくれるよ
ハイ、宿題です。文字列操作

複数のユーザが同一のディレクトリにテキストファイルをいれています。
テキストファイルの名称のルールは
半角英字でユーザ名(文字数に既定なし)年月日(yyyymmdd型 8桁固定).txt
例)yuza20030213.txt

現在から一年以上前のデータをユーザ名に関係なく、削除するプログラムです。

なお、この仕様以外のテキストファイルやフォルダが存在しています。それは削除してはいけません。

できますか?
174U ◆CZtFsGiu0c :03/02/13 16:21
>>170
java Filelist2 "../../My documents"
だとどう?
175173:03/02/13 17:52
すみません、却下ですね。忘れて下さい。面倒だしね・・・

でも、その前に もしよろしければ

簡易フローを書いていただけませんか?
176デフォルトの名無しさん:03/02/13 21:38
結局だれも>>162の要望には応えてやれんのかw
情けない
Runtime.exec( "calc.exe" );
178デフォルトの名無しさん :03/02/14 02:09
・成績処理プログラム
頻度分布をグラフ化し、平均値、中央値を示し乱数によって○○人分用意して入力した点数により位置と順位を表示しる。

という宿題なんですけど、だれかできないでしょうか?
179モダナガリフォンゲるる:03/02/14 04:37
ファイルにストリング型のデータを
ファイルに書き込むメソッドが呼ばれる度にで逐次追加で書き込みたいのですが、
どうすればいいんでしょうか。
毎回、最後のデータだけ入ってるだけで、上書きされてしまうんですが。
180171:03/02/14 06:10
>>172
ありがとうございます☆
しかし、テキストに入力された文字列を表示するための
ボタンを作ってあって、そこで repaint() を呼び出しているんで、
クリアボタンで repaint() を呼び出すと、クリアじゃなくて、表示しちゃうんですよ・・・

public void paint(Graphics g) {
     g.drawString(ss, rdnum1, rdnum2);
}

public void update(Graphics g) {   // 描画のクリアの中止
     paint(g);
}

//部品のイベント処理
public void actionPerformed(ActionEvent e) {
    random = new Random();
    rdnum1 = Math.abs( random.nextInt() ) % 200 + 1;
    rdnum2 = Math.abs( random.nextInt() ) % 160 + 1;
    Button bt = (Button)e.getSource();
    if (bt == bt1) {
        ss = txt1.getText();
        repaint();
    }
    if (bt == bt2) {
//描画のクリアのための処理がしたいっす
    }
}

なにか他のやり方ありますでしょうか?
181161:03/02/14 15:30
>>174
できました!これでスペースのはいったフォルダも渡せます。
どうもありがとうございます。
182デフォルトの名無しさん:03/02/14 17:35
初心者なんで,宿題○投げですが,よろしくお願いいたします.
ニューラルネットワークの誤差逆伝搬法を用いて以下のNNを学習させる
プログラムを作成せよ.
(入力1,入力2,入力3,出力)=(0,0,0,0)
                =(1,0,1,0)
                =(1,1,1,1)
                =(1,1,0,0)
                =(1,0,0,1)
                =(0,0,1,1)
達人の方々,よろしくお願いします.
183175:03/02/14 22:59
だれか教えてください。プログラム実行したら永久ループに入ってしまって・・
ストップのしかたをどなかた教えてください(SDK1.41だったはず)
>>183
Ctrl+C で止まらん?
185デフォルトの名無しさん:03/02/14 23:15
>184さん
ありがとうございます。
やってみます
186デフォルトの名無しさん:03/02/14 23:17
>183さん
止まりました。どうもありがとうございました。
助かりました・・
187デフォルトの名無しさん:03/02/14 23:24
>>180
どのボタンが押されたか、識別する仕組みを作って、
repaintの中で if 文で分岐するのが簡単。
やっつけ仕事だけど。
188tantei:03/02/14 23:24
★あなたのお悩み解決致します!!
●浮気素行調査
彼氏、彼女、妻、夫の浮気を調査致します!!
●盗聴器盗撮機発見
あなたの部屋に誰かが仕掛けているかも!!
●行方調査
行方不明になっている家族の消息を調査致します!!
●電話番号から住所割り出し
一般電話、携帯から住所を割り出し致します!!
●ストーカー対策
社会問題ともなっているストーカーを撃退致します!!
その他人生相談からどんなお悩みでも解決いたします!!
 24時間受付  090−8505−3086
URL  http://www.h5.dion.ne.jp/~grobal/
メール  [email protected]
   グローバル探偵事務局 

189デフォルトの名無しさん:03/02/17 01:55
このスレは、アレだな!

需要と供給のバランスが取れてないな(w
190デフォルトの名無しさん:03/02/17 16:14
import java.io.*;
public class Kuku {
public static final int MAX_QUESTION = 10;
public static void main (String[]args) {
int goodAnswers = 0; //正答の個数
   System.out.println("これから九九の問題を" + MAX_QUESTION + "問出します。");
for (int i =0; i< MAX_QUESTION; i++) {
boolean ok = showQuestion(i+1);
if (ok) { goodAnswers++;}
}
double rate = goodAnswers * 100.0 / MAX_QESTION;
System.out.println("");
System.out.println("正しく答えられたのは" + goodAnswers + "問で、");
System.out.println("間違ってしまったのは" + (MAX_QUESTION - goodAnswers) +
"問です。");
    System.out.println("正答率は" + rate + "%です。");
System.out.println("");
System.out.println("お疲れ様でした。");
}
191デフォルトの名無しさん:03/02/17 16:15
public static boolean showQuestion(int questno) {
int x = (int)(Math.random() *9) + 1;
int y = (int)(Math.random() *9) + 1;
BufferedReader reader = new BufferedReader (new InputStreamReader(System.in), 1);
try {
System.out.println("[第"+ questno +"問] " + x +" × " + y +" = ?");
String line = reader.readLine();
int result = Integer.parseInt(line);
if (x * y == result) {
System.out.println("はい、正しいです。");
return true;
} else {
System.out.println("残念、間違いです。");
return false;
}
} catch (IOException e) {
System.out.println(e);
} catch (NumberFomatException e) {
System.out.println("入力が正しくありません");
}
return false;
}
}
192190, 191:03/02/17 16:16
上のソースどこが間違えてるかわかりますか?
マジレスキボン。
193デフォルトの名無しさん:03/02/17 16:19
★☆★キラキラお星様★☆★
http://jsweb.muvc.net/index.html
>>190-191
インデントに全角スペース
MAX_QESTION → MAX_QUESTION
NumberFomatException → NumberFormatException
こんなのjavacのエラーメッセージみりゃそのままだろ…
195190, 191:03/02/17 17:59
>>194
ありがとうございます。
言われるがままに直してみたらとりあえずjavac完了しました。
でも、いまだになぜインデントに全角スペースなのかがわからない。
逝ってきます・・・
ここかどこかのスレのコードをコピペしたからだろ。
html上ではタブと半角スペースきかないから
全角スペースでインデントすんだよ
197デフォルトの名無しさん:03/02/19 04:19
あのう…切実にお願いなんですけど、電卓をつくるプログラムってできないでしょうか?
↑に似たようなお願いしてる人もいるみたいなんですけど、どなたもレスしてないようで…

こういった形でやれよというのでも構いません。よろしくお願いします。
198デフォルトの名無しさん:03/02/19 04:34
199初心者(4日目):03/02/20 17:17
他でも聞いたんですが、どう〜してもできなくてここにたどりつきました。。。

表示で
 1
10
みたいに2桁で右に揃えたいんです。
DecimalFormat を使えと教えていただいて、SUNの
ドキュメントを読んだのですが、わかりません。
ご教授お願いいたします!
200デフォルトの名無しさん:03/02/20 17:31
test
>>199

最終的にどこにそれを表示したいの?
System.out ?

他で聞いたときは回答得られたの?
他ってどこ?
2ch 内ならURLも希望。

文字列の長さ調べて、足りない分のスペースを先頭に突っ込むのじゃだめなのか?
202初心者(4日目):03/02/20 18:44
ありがとうございます!
九九の表をDOS画面で出そうとしてるんです。
System.out です。
【初心者】Java質問・相談スレで、DecimalFormatに関するSUNの
ドキュメントを読めといわれますた。初心者にはあれはムズカスイです。
Cのテキストだと、printf("%2d",x)で簡単にできると書いてあるんで
似たようなやり方がないかと探しているんですが。。。

文字列の長さを調べて、スペースを入れるをやってみます。
203初心者(4日目):03/02/20 19:28
というか、九九の表なら10より小さいやつにスペースを入れれば
いいんですよね。。。
>>203
おれが、APIのドキュメントを見ろって言ったんだ。
わからないなら、テストするなり、本を買うなり、インターネットで調べるなりしろよ。
こんなので詰まっていたら、プログラムなんてできないぞ。マジで。

今回だけ、答える。
new DecimalFormat("#0")

205初心者(4日目):03/02/20 20:16
↑それをやってもできないんです(T-T)
import java.text.*;

class kuku{

public static void main(String args[]){

DecimalFormat df = new DecimalFormat("#0");

for (int i=1; i<10; i++){
for(int j=1; j<10; j++){
String seki = df.format(i*j);
System.out.print(seki + " ");
}
System.out.println("");
}
}
}
これですけどね。。。
206初心者(4日目):03/02/20 20:26
>>204
最初に「【初心者】Java質問・相談スレ」で教えていただいたときに
上をやってみたんですが、できませんでした。何か重大な間違いを
してしまっているのでしょうか?
>>206
スマソ。こっちが勘違いしてた。
DecimalFormatだけではできなかった。悪かった。
printfのような実装は1.5で実装されるという話はあるが、現状では
自作かどこからか落としてくるしかない。

自作の場合は、
static String hoge(String s, int length) {
StringBuffer sb = new StringBuffer(length);
int len = length - s.length();
for (int i=0; i < len; i++) {
sb.append(' ');
}
sb.append(s);
return sb.toString();
}
208初心者(4日目):03/02/20 21:01
>>207さん
ありがとうございます。
助かりました。
209(T_T):03/02/22 08:48
学校の宿題がさっぱりわかりません (T_T)
JavaのAppletのチャプターを今やっています。

其の一
Assume that surfMessage references a Label with class-wide
scope that has already been added to the applet's container.
If surfCount is an int variable with class-wide scope and an
initial value of 0, code the methods needed to
(1) increment surfCount every time the user visits a different
Web page and (2) change the contents of surfMessage to display
"Surf count: n" (where n is the number of times they have visited
a different page) upon their return. NOTE: Prior to surfing,
surfMessage should display "Surf count: 0".

もう何をどうして良いのやら。。。 Start()とstop()を使うのでしょうか?

210& ◆C6eU42yvKY :03/02/22 08:49
其の二
Assume all required import statements have been coded.
What will happen when an attempt is made to compile and
execute the following as an applet?

public class App extends Applet {
public static void main(String[] args) {
System.out.println("Hello world!");
}
public void init() {
resize(100, 50);
add(new Label("Hello world!"));
}


A. this code will not compile
B. this code will compile but an error will be detected at the
time the applet is to be run
C. this code will compile and run to display "Hello World!"
on the system console but nothing will appear in the applet window
D. this code will compile and run to display "Hello World!" in
the applet window but nothing will appear on the system console
E. this code will compile and run to display "Hello World!" on the
system console and in the applet window
私はAだと思うんですけど、どうなのでしょうか?
(public static void main(String[] args) が余分だと思うので)
211209続き:03/02/22 08:50
其の参
Assume all required import statements have been coded. What will
happen when an attempt is made to compile and execute the following
as an applet?

public class App extends Applet {
public void start() {
resize(100, 50);
add(new Label("FSU"));
}
}

A. this code will not compile
B. this code will compile but an error will be detected at
the time the applet is to be run
C. this code will compile and run but nothing will appear in
the applet window
D. this code will compile and run to display "FSU" in the
applet window
Dだと思うんですが。start()はユーザーがネットをサーフしたあと
ページに戻ってきたりする度に呼ばれんですよね?

以上、長々とすみませんが、もしどなたか助けてくれる方いましたら
よろしくお願いします。 助けてください!

212209:03/02/22 11:49
あ〜。。。 やっぱりどなたもいらっしゃらない。。。
どうしよ。。。
とりあえず、もう少し調べてみよっと。
213名無しさん@Vim%Chalice:03/02/23 22:49
>>209
>その1
 appletはようわからんが、要するに、クラス変数に置いたLabelと、
 int値のカウンタをイベントに応じて更新してけばいいんでしょ。
 適当に作ってみりゃいいじゃん。
>その2
 そんなのコンパイルしろよ。ちなみに間違ってるよ。
>その3
 同じくコンパイルすれば分かるような話を聞くな。
今単位落ちの課題をやってるんですが、どなたか「オブジェクトシリアライゼ
ーション」についての説明、使用方法について教えてもらえませんか?これ次
第で俺の卒業が決まります。お願いしまつ〜つд`;
>>214
マルチポストやめれ。
>>214 ほら、これを見ろ。もうマルチポストはするなよ。
http://java.sun.com/j2se/1.3/docs/guide/serialization/
217デフォルトの名無しさん:03/03/07 21:46

http://page5.auctions.yahoo.co.jp/jp/auction/e22909695

ヤフオク出品したよ
1円スタートでマジお勧め!

「10日でおぼえるJSP/サーブレット入門教室」翔泳社

     
                 
         
あげ荒らし氏ね
219奈々奈々シアター:03/03/13 16:30
どなたかグラフィック無しのすごろく作るの手伝ってくれませんか?
220デフォルトの名無しさん:03/03/15 05:00
こんなんでました☆

a 進数 n を b 進数 m に変換し、

    (n)a = (m)b

と出力せよ。ただし、2≦a≦36, 2≦b≦36 とする。a, b, n は
main メソッドの引数として次のように入力するものとする:

    % java exam2 n a b

よろしくどーぞ。

>>220
いい問題だ。
どこがわからない?
努力するなら答えよう。
222220:03/03/15 05:20
いや、さっぱり・・・

やっぱ丸投げはダメ??
223221:03/03/15 05:24
丸投げ( ・A・)イクナイ

引数の取得
表示
数値変換
進数変換
の順にがんがれ。
224220:03/03/15 05:27
サンクス
がんがるね☆
225220:03/03/15 05:38
import java.io.*;

class exam2b {
public static void main(String[] args) {
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));

から進まない・・・
226221:03/03/15 06:08
BufferedReader使う必要は無いと思われ
227221:03/03/15 06:09
まず、コマンドライン引数をそのまま3つ表示しる!
228デフォルトの名無しさん:03/03/15 06:57
http://homepage3.nifty.com/digikei/sample/sample.html
なんだかすごいことになっています
229220:03/03/15 07:19
import java.io.*;

class exam2b {
public static void main(String[] args) {
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));

int a = Integer.parseInt(args[1]);
int b = Integer.parseInt(args[2]);
int n = Integer.parseInt(args[3]);

でいいっすか??
230221:03/03/15 07:24
>>229
BufferedReader使う必要ないっつってんだろうが、ごるぁ
といってみるテスト。

あとは進数というか基数指定して文字列にするだけだぁね。
231220:03/03/15 07:27
す、すんません・・・
まずは

import java.io.*;

class exam2b {
public static void main(String[] args) {

int a = Integer.parseInt(args[1]);
int b = Integer.parseInt(args[2]);
int n = Integer.parseInt(args[3]);

でいいすか?
232221:03/03/15 07:28
あとは適当に表示しる!ヒントは与えた。
233220:03/03/15 07:35
行かないで〜〜〜!!!(泣)
a進数から、b進数に変換する方法って?
>>233
a進→10進→b進
でいいんじゃないの?
235220:03/03/15 07:47
>>234
ありがと〜〜
でも、ガンガルけど、ムリくさい・・・
>>233
>>232のメール蘭。あとはドキュメント嫁。
public class Exam2b {
  public static void main(String[] args) {
    System.out.println("("+args[0]+")"+args[1]+" = ("+Integer.toString(Integer.parseInt(args[0], Integer.parseInt(args[1])),Integer.parseInt(args[2]))+")"+args[2]);
  }
}

クラス名の先頭文字を小文字にすることだけは私には耐えられなかった。
Javaでブラウザってどうやって作るの?
HTMLを表示するコンポーネントというかクラスは
いったいどれなんだろう・・・
239デフォルトの名無しさん:03/03/16 02:07
>>237
そっからどうすんの〜?
>>239
まるっきり自力でやるつもり無いのね。すばらしいカスぶり。
>>238
javax.swing.JEditorPane
javax.swing.text.html.HTMLEditorKit
>>239
それで終わってる気がするのだが。。。
243デフォルトの名無しさん:03/03/17 10:40
MSNメッセンジャーが使えるiアプリ
http://www5e.biglobe.ne.jp/~iwatasin/iMessenger.htm

素晴らしいアプリなんですがドコモでしか使えません。
こんな感じのアプリをJフォンで作ってくださいまし。


http://jp.appget.com/pc/
http://jp-dev.appget.com/
http://www.dp.j-phone.com/
以下、学校の宿題。 どうやったら良いの?

Assume employees is a HashTree collection containing many
Employee objects, each having a unique String object as its key.
Code the statements needed to retrieve the Employee object mapped
to the String "3139" and assign it to a previously defined Employee
object reference named emp. If no such object is found, display
the message "Not found" on the system console.
>>244
まず訳しましょう。
それは多くの従業員オブジェクト(キーとしてユニークなストリング・オブジェクトを
それぞれ持って)を含んでいるHashTree収集です、それは従業員を仮定します。
参照するためにそれに帰着するために必要とされるステートメントをコード化して
ください、に[それはストリング「3139」によって写像され、それをempと命名した
従業員オブジェクトを探索する前に定義された]従業員オブジェクト。システム・
コンソール上で「見つかりませんでした」そのようなオブジェクトが見つからな
かった時。[どれがメッセージを表示するか]
247宿題アリ子:03/03/27 05:30
こちらのほうに、同じ宿題の問題が載ってるので一おーこっちにもはって
はっておく・・・

[JAVA]JAVAの宿題・課題は俺に任せろ
http://pc2.2ch.net/test/read.cgi/tech/1047538922/

何ともよろしゅうお願いします・・・
248山崎渉:03/04/17 15:49
(^^)
249山崎渉:03/04/20 04:16
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
250デフォルトの名無しさん:03/04/26 04:27
黄金厨誘導age
251デフォルトの名無しさん:03/04/26 12:34
>>237
をコンパイルできないのは俺だけ?
252デフォルトの名無しさん:03/05/03 23:48
JaVa
がっこの宿題でサーバー&クライアント(+PIPE)を使ってクライアント
がサーバにユーザーネームとパスワードでログオンし、メッセージを書
いたり受け取ったりすることができるプログラムを書けというのが出た
んですけど簡単な例とか載ってるHP知ってる人いませんかね。
253デフォルトの名無しさん:03/05/25 22:04
#include <stdio.h>
#include <stdlib.h>

FILE *infile, *outfile;
int count[128];
int num;
char *str
void init(void){
     int i;
     for(i=127;i>=0;i--){
          count[i]=0;
     }
}
254デフォルトの名無しさん:03/05/25 22:06
ぐあ…失敗しますた
255デフォルトの名無しさん:03/05/25 22:25
ttp://acm.uva.es/p/v1/195.html
上のアナグラムのプログラムをJAVAに書き換える問題です。

#include <stdio.h>
#include <stdlib.h>

FILE *infile, *outfile;
int count[128];
int num;
char *str
void init(void){
     int i;
     for(i=127;i>=0;i--){
          count[i]=0;
     }
}

void go(const int n){
     int i;
     if(n>=num){
          *(str+n)='\0';
          fprintf(outfile,"%s\n",str);
          return;
     }
256デフォルトの名無しさん:03/05/25 22:26
     for(i=0;i<26;i++){
          int c1,c2;
          c1=i+'A';
          c2=i+'a';
          if(count[c1]>0){
               *(str+n)=(char)c1;
               count[c1]--;
               go(n+1);
               count[c2]++;
          }
     }
     return;
}

int main(void){
     int i,n;
#ifdef FILEIN
     if(NULL==(infile=fopen("data.in","r"))){
          fprintf(stderr,"nofile");
          exit(1);
     }
#endif
     infile=stdin;
     outfile=stdout;

     fscanf(infile,"%d\n",&n);
     for(i=0;i<n;i++){
          int c;
          init();
257デフォルトの名無しさん:03/05/25 22:27
#ifdef DEBUG
          fprintf(stderr,"%d\n",n);
#endif
          num=0;
          while(c=fgetc(infile),c!='\n'){
#ifdef DEBUG
               fprintf(stderr,"%d:%c\n",c,c);
#endif
               count[c]++;
               num++;
          }
          str=malloc(num+10);
          go(0);
     }
     return0;
}

丸投げですがお願いします。
258デフォルトの名無しさん:03/05/25 22:56
SunのWebサイト
http://suned.sun.co.jp/JPN/certification/progsq.html#Java2_1.4
にあるSun Certified Programmer for the Java 2 Platform1.4 試験
の例題の中に、

以下のコードの実行結果を選択して下さい。
int i=3, j=0, result=1;
result += i-- * --j ;
System.out.println( result );

A. 0
B. -1
C. -2
D. -3
E. コンパイルエラー
F. 実行時の例外

というのがありまして、私はclass定義もないし、メソッド内に書か
れてもいないので、E"コンパイルエラー"と思ったのですが、
解答を見ると答えはCになっています。他の例題を見ると簡単な表記
ミスなどでもコンパイルエラーという解答になるみたいですので、
この問いも当然そうかと思ったのですが違うようです。
皆さんはどう判断されますか?
259デフォルトの名無しさん:03/05/26 00:25
>>258

他の問題でもメソッド内に書かれていないものが
あるよね。そこでコンパイルエラーが選択される
ケースとして想定しているのは2行目のコードに
対してじゃないのかな?まぁ、実行時の例外って
いう選択もそこについて選択されると予想して
出題しているんだろうけど。
たぶんその2つを選択したら問題外ってなっちゃうよ。

で、その問題で問いたいのは
result += i-- * --j;
がどう実行されるのかってことだろうね。
で、どうなるかっていうと次の順に実行されるだろうね。
1.--j (jが-1になる)
2.i * j (-3)
3.result += i*j (resultが-2になる)
4.i-- (iが2になる)

3行目のSystem.out.println( result );
で-2が出力される。だから、答えはC。
・・・だとおいらは思うよ。
260デフォルトの名無しさん:03/05/26 01:47
コメントありがとうございました。
答えを知っていれば、あまり深く考えずに納得してしまうところなの
ですが、逆にこれをCの-2、と真剣に答えたところ、答えが"コンパイ
ルエラー"だったとしても、文句は言えないような気もするんです。

実際、この1.4の例題10つ中"以下のコード"と問題に書かれて
いるものでコンパイルできなかったものは、6(258に書いた問題)
と8の二つでした。8の方は、解説されている理由の他にclass定義
がされていない、という理由もありますが、答えの"コンパイルエラー"
には間違いありませんので問題ないと解釈しています。(選択問題
としても解答は一つに定まる。)

しかし、6だけは”以下のコード”を実行するにしても問題に書いて
あるコードだけではコンパイルエラーで実行するまで行き着かない
わけですから、あえて他の問題と同様に深読みせずに”コンパイル
エラー”としたのですがはずしてしまいました。

なお、"実行時の例外"という選択肢は、コンパイルできないので、
ありえないと考えました。

このテストを受けようかと思っているのですが、こんな問題がでたら
悩んでしまいそうです。半分ちょっと正解すれば通るみたいだから
気にしないように努力しないといけないんですね。
>>258
こんなコード書く奴は死刑にでもブタの餌にでもしちゃってください。

>>259
厳密には
1. i-- :: i は即座に 2 になる。 (i--) の式の値は 3.
2. --j :: j は即座に -1 になる。(--j) の式の値は -1.
3. result += (i--) の式の値 * (--j) の式の値 == 3 * -1
って感じですか。
まぁ、 >>259 のが受け入れやすいけど、
その理解だと i = i-- + i--; とかの答えが合わなくなる。
262山崎渉:03/05/28 12:44
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
263デフォルトの名無しさん:03/05/31 02:35
javaアプリケーションで正方形を描きその中に円を入れたり入れなかったり
その描く線の色を黒か赤か選べ,なおかつ正方形と円の大きさを大小2種類に
できるようにしたいのですがわかりませんどなたかやってくれませんでしょうか?
ヨロシクお願いします
264質問させて下さい。:03/05/31 14:37
import java.io.*;
import java.text.*;
import java.util.*;

public class Test{

    public static void main(String[] args) throws IOException, ParseException{
        Date nowdate = new Date(System.currentTimeMillis());
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("生年月日を入れて下さい。");
        String str = br.readLine();
        DateFormat df = DateFormat.getDateInstance();
        Date borndate = df.parse(str);
        int year = nowdate.getYear() - borndate.getYear();
        if((nowdate.getMonth() < borndate.getMonth()) || (nowdate.getMonth() == borndate.getMonth() && nowdate.getDate() < borndate.getDate())){
        year -= 1;
        }
        System.out.println(Integer.toString(year) + "歳です");
    }
}
これを実行すると推奨されないAPIを使用、またはオーバーライドしてます。
って言われるんですが何処をどー直せばちゃんと動くでしょうか?
265264:03/05/31 14:41
>>264は生年月日を入力して今、現在何歳かということを
画面上に表示するプログラムです。
-deprecationをつけて実行してみましたがgetYear()とgetManth()とgetDate()が
おかしいようです。ググってみましたらCalendar.get(Calendar.YEAR)を使うようなんですが
どー入れれば動くのかということがサパーリです。
どうか修正宜しくお願い致します。
http://pc2.2ch.net/test/read.cgi/tech/1054041744/146
>146 :デフォルトの名無しさん :03/05/29 23:57
>JAVAの課題スレでも書いた内容なんですがこちらに書いたほうがよかったでしょうか?
>
>JAVAでの年齢計算プログラム教えて下さい。
>例えば私の誕生日を1970年5月1日とした時、
>今現在(今日の時点)の年齢はいくつになるか、といった感じのプログラムです。
>どうか宜しくお願いします。
>
>デシマルといったものを使うようなんですがサパーリなんです。
>ちなみにデシマルは使っても使わなくてもいいようです。
>ようは年齢計算さえ出来れば(・∀・)イイ!!感じです。
267デフォルトの名無しさん:03/05/31 21:01
ふ〜ん、それで?
268デフォルトの名無しさん:03/06/01 19:06
厨な質問すみません。

アルファベット大文字をランダムに9文字発生(同じ文字は重複させない)させるプログラムを教えてください。
ArrayList list = new ArrayList();
for(char c = 'A'; c <= 'Z'; c++)
 list.add( new Character(c) );

String str = "";
for(int i = 0; i < 9; i++)
 str = str + list.remove((int)(Math.random() * list.size()));

System.out.println( str );

とか。
>>268
>>269で十分だけど、もし効率的な方法がほしかったら
配列 シャッフル
で検索してみ
271デフォルトの名無しさん:03/06/01 20:06
2台のパソコンを、LAN回線でつないでクラスを送りたいのですが。
アプレットで。
>>271
Socket使え
273デフォルトの名無しさん:03/06/01 20:27
268っす。
>>269>>270
サソクスです。
これで明日提出間に合います。
274デフォルトの名無しさん:03/06/01 20:53
今日の日付を出力するプログラムを作れ
と言う宿題がでたのですが、
さっぱりわかりません。
ヒントだけ教えてください。

フォーマットもしていされていて
03/04/05
というように
西暦の上2桁を切らないといけないそうです。
276デフォルトの名無しさん:03/06/01 22:48
>>269さん
>>268さんではありませんが、私も似たようなプログラムが宿題で出ていたので参考にさせていただいたのですが、
コンパイルできません。

Sample.java:3: シンボルを解釈処理できません。
シンボル: クラス ArrayList
位置 : Sample の クラス
ArrayList list = new ArrayList();
^
Sample.java:3: シンボルを解釈処理できません。
シンボル: クラス ArrayList
位置 : Sample の クラス
ArrayList list = new ArrayList();

とエラーが出てしまいました。
どうか教えていただけませんか?
277デフォルトの名無しさん:03/06/01 23:06
import java.io.*;
import java.text.*;
import java.util.*;

public class Test{

    public static void main(String[] args) throws IOException, ParseException{
        Date nowdate = new Date(System.currentTimeMillis());
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("生年月日を入れて下さい。");
        String str = br.readLine();
        DateFormat df = DateFormat.getDateInstance();
        Date borndate = df.parse(str);
        int year = nowdate.getYear() - borndate.getYear();
        if((nowdate.getMonth() < borndate.getMonth()) || (nowdate.getMonth() == borndate.getMonth() && nowdate.getDate() < borndate.getDate())){
        year -= 1;
        }
        System.out.println(Integer.toString(year) + "歳です");
    }
}
これを実行すると推奨されないAPIを使用、またはオーバーライドしてます。
って言われるんですが何処をどー直せばちゃんと動くでしょうか?

生年月日を入力して今、現在何歳かということを
画面上に表示するプログラムです。
-deprecationをつけて実行してみましたがgetYear()とgetManth()とgetDate()が
おかしいようです。ググってみましたらCalendar.get(Calendar.YEAR)を使うようなんですが
どー入れれば動くのかということがサパーリです。
どうか修正宜しくお願い致します。
もう「"生年月日を入れてください。"」はあぼーん設定しよっかな
279デフォルトの名無しさん:03/06/01 23:53
>>275
できました。
でも、ライブラリを使ってはいけないそうです。
>>146
DateじゃなくてCalendar使え
>>279
ライブラリ使わんでどーやって出力するつもりだ?
282デフォルトの名無しさん:03/06/02 20:45
あのう
まだやってないんですが
try
↑臭い気するけど
>>279
ライブラリつかわんで今日の日付をどうやって取得するんだ。
まさかコンソールで今日の日付を入力させてそれを表示とか・・
285デフォルトの名無しさん:03/06/03 19:52
あのぅ
socketでメッセージを相互に送るようにしたんですけど、
そのメッセージを変数に置き換えてプログラムできるんでしょうか?
アプレットです。
>>284
コンソールの入力も表示もライブラリ使わんと無理。
>>285
変数に「代入」ではないのか?

メッセージを変数に「置き換えた」結果ってのが
どういう状態を期待しているのか説明してみ。
288デフォルトの名無しさん:03/06/03 21:42
ああ、変数に代入、です。
そして代入した変数をスレッドの中で使いたいです。
289デフォルトの名無しさん:03/06/03 22:46
276です。
>>269をしたいのですが、
public class Sample{
public static void main(String args[]){
arrayList list = new ArrayList();
for(char c = 'A'; c <= 'Z'; c++) {
list.add( new Character(c) );
}
String str = "";
for(int i = 0; i < 9; i++){
str = str + list.remove((int)(Math.random() * list.size()));
}
System.out.println( str );

}
}
でエラーが出ます。教えてください。
290デフォルトの名無しさん:03/06/03 22:48
aaaaaaaa
>>289
まずimportしてない。
それと4行目、ArrayList list = new ArrayList(); だね 多分。
292291:03/06/04 00:13
3行目でした ゴメソ
C++宿題スレでもincludeから書いてるんだから、
importから書いてやれよ。
>>293
import から書いても deprecated なメソッドの対処できない奴とか居るし。
295デフォルトの名無しさん:03/06/04 07:29
import java.io.*;
public class Sample{
public static void main(String args[]){
ArrayList list = new ArrayList();
for(char c = 'A'; c <= 'Z'; c++) {
list.add( new Character(c) );
}
String str = "";
for(int i = 0; i < 9; i++){
str = str + list.remove((int)(Math.random() * list.size()));
}
System.out.println( str );

}
}

う〜ん、これでもコンパイルできません。
>>295
わざとやってるだろ。
>>295
コンパイルエラー見りゃ原因わかんだろ
while 文を使って次のアプリケーションを作成してください。
1 から 2, 3, 4 と足していき、総和が1万を超えたら、
そのときの総和と最後に足した数を出力してください。

ヒントください(汗
ヒント
while(total < 10000)
つーかこの程度ならJavaだろうがC++だろうが同じじゃん。
>>298
1 から 2, 3, 4 と足していき、総和が10を超えたら、
そのときの総和と最後に足した数を出力してください。

だとおもって、コンピュータ使わずに手で解いてみろ。
手で解けないならお前には無理
>>298
int total = 0;
int i = 1;

while ( total <= 10000 )
{
  total += i++;
}

System.out.println("総和=" + total + " 最後=" + i);
> System.out.println("総和=" + total + " 最後=" + i);
System.out.println("総和=" + total + " 最後=" + (i - 1)); かな。
>>303
それより、int i = 0 にして ++i にすればいいだろ
305デフォルトの名無しさん:03/06/04 18:34
ループ文を使って下の様なピラミッド状に整数を表示させるにはどうすれば
いいのでしょうか?ご教授お願します。

1
2 3
4 5 6
7 8 9 10

306デフォルトの名無しさん:03/06/04 18:34
↑あれ^^;

ピラミッドになってない。。。

1が頂上のピラミッド型になってると思って下さい。
>>305
W大学ですか?
System.out.println(" .1");
System.out.println(" 3 2");
System.out.println(".4 5 6");
System.out.println("7 8 9 10");
>>308
ループ文使ってだから
String[] str = { "  1"," 2 3"," 4 5 6","7 8 9 10" };
for ( int i = 0 ; i < str.length() ; i++ ) {
  System.out.println(str[i]);
}
(藁
(藁
(藁
(藁
(藁
(藁
311デフォルトの名無しさん:03/06/04 19:25
>>309
str.lengthの

.←の部分が解釈できないと出るのですが。。
312r:03/06/04 19:30
>>311
()が不要だな。
つか、それ突っ込みどころ違う...
313デフォルトの名無しさん:03/06/04 19:34
>>312
>>310

ありがとうございました!!
314デフォルトの名無しさん:03/06/05 00:36
>>309

いい加減にしろ(゚Д゚)ゴルァ!!
315デフォルトの名無しさん:03/06/05 00:41
こんばんわ。
どうか助けて下さい。(;_;)

「HTMからタイトルを抽出するプログラム」をJSPで作って頂けますか?
javaのソースなら動作するものはできています。
>>314=306
しかし、具体的にどんなものが欲しいのか、
明示してないからな。しかたねーよ。
"1-10をピラミッド形に並べる"のなら、
>>309が最適なわけだし。

>>315
その、既に動作してるJavaのコードを、
JSPの<% %>の間に書け。
>>305
何気にむずい…
int last = 200;
int half = last / 2;
int i,j,k = 0;

for ( i = 1 ; i < last ; i++ ) {
  for ( j = 0 ; j <= half ; j++ ) {
    System.out.print(' ');
  }
  half--;

  for ( j = 0 ; j < k ; j++, i++ ) {
    if ( i > last ) break;
    System.out.print(i + " ");
  }
  k++;

  if ( i > last ) break;
  System.out.println(i + "");
}
>>315
>javaのソースなら動作するものはできています
JSPからそれを呼べばいいだろ
>>305
class Pyramid {
// 十進数での桁数算出関数
static int calcBeam(int n){
int beam = 1;
for(int d=1; n/d!=0; d*=10){beam++;}
return (beam-1);
}

//main
public static void main(String[] args){
int height; //ピラミッドの高さ

//ユーザー入力の取得
try{
height = Integer.parseInt(args[0]);
}catch(NumberFormatException e){
System.out.println("入力文字列は整数として解釈できません。");
return;
}catch(Exception e){
System.out.println("その他のエラー");
return;
}
(つづく)
(つづき)
int maxValue = height*(height+1)/2;//ピラミッドで一番大きな数
int maxBeam = calcBeam(maxValue); //ピラミッドで一番大きな買うの桁数
int curValue = 1 //カレント値
int curBeam = 1; //カレント桁数
String raw[] = new String[height]; //ピラミッドの格段

//ピラミッドの各段を作成
for(int y=0; y<height; y++){
raw[y] = "";
for(int x=0; x<=y; x++){
String tmp;
tmp += curValue;
//桁数を合わせるためにスペースでパディング
for(int j=0; j<maxBeam - curBeam +1; j++){
if(j%2==0){tmp=" "+tmp;}else{tmp+=" ";}
}
raw[y] += tmp;
curValue++;
curBeam = calcBeam(curValue);
}
}

//中央を合わせて出力
for(int y=0; y< height; y++){
for(int x=0; x< (raw[height-1].length()-raw[y].length()) / 2; x++){
System.out.print(" ");
}
System.out.println(raw[y]);
}
}
}
322320,321:03/06/05 17:17
しまった、タブがつぶれるんだった。
コマンドラインから出力するピラミッドの段数を引数に渡して起動。
微妙にイビツ。
323321:03/06/05 17:28
ちょっとミス訂正
>>321
4行目
(誤)int curValue = 1 //カレント値
(正)int curValue = 1; //カレント値

12行目
(誤)String tmp;
(正)String tmp="";
324デフォルトの名無しさん:03/06/05 18:57
>>320-323

ありがとうございます^^
漏れも作ってみた。

public class NumberPyramid {
    public static void main(String[] args) {
        int maxHeight = Integer.parseInt(args[0]); // NumberFormatException は放置
        StringBuffer[] row = new StringBuffer[maxHeight]; // 各行の内容を保持
        int value = 0;

        // 各行を作成
        for (int curHeight = 0; curHeight < maxHeight; curHeight++) {
            row[curHeight] = new StringBuffer();
            for (int i = 0; i <= curHeight; i++) {
                row[curHeight].append(" ");
                row[curHeight].append(++value);
            }
        }
(つづく)

        // インデント用空白(長さは最大行の長さの半分)作成
        final int maxLength = row[maxHeight - 1].length();
        StringBuffer space = new StringBuffer();
        for (int i = 0; i < maxLength / 2; i++) {
            space.append(" ");
        }

        // 表示
        for (int curHeight = 0; curHeight < maxHeight; curHeight++) {
            System.out.print(space.substring(row[curHeight].length() / 2));
            System.out.println(row[curHeight]);
        }
    }
}
327デフォルトの名無しさん:03/06/05 20:41
>>326

int maxHeight = Integer.parseInt(args[0]); // NumberFormatException は放置
この行でクラスファイル生成後実行したらエラーになるのですが。。
>>327
コマンドラインでピラミッドの高さを入力してる?

>>326
>row[curHeight].append(" ");
>row[curHeight].append(++value);

これだと、桁の違いが出てピラミッドが三角形にならないよ。
ま、上すぼみのピラミッドもあるには有るけどな。
329デフォルトの名無しさん:03/06/05 21:19
>>328
ありがとうございます。
実際にピラミッドが表示できる状態のプログラムをレスしてくれますか?^^;

>>329
いや、おれは320だが。動かなかった?
331デフォルトの名無しさん:03/06/05 21:58
>>330

コンパイル後に"java Pyramid"と
実行するとその他のエラーと表示されるんですが。。
>331
java Pyramid 5
とか。
>>331
えーと、
私のプログラムも、>>325のも。

>java Pyramid 10

というように、ピラミッドの高さを指定してください。
>332
ちがうか。
>325-326
NumberPyramid.javaのファイル名で保存してjavac NumberPyramidでclass作って、
java NumberPyramid 5
だ。
335デフォルトの名無しさん:03/06/05 22:28
>>332>>333>>334

おーすごい!!!!
できました!
ありがとうございました!^^
336デフォルトの名無しさん:03/06/05 22:33
このピラミッド問題さぁ
数字の桁が増えてくると
絶対無理だよな
無理と言うか綺麗に並ばなくなる
>>336
DOS窓だと折り返されちゃうけど、xyxxyで実行したら100段とかでも綺麗に並んだよ。
338デフォルトの名無しさん:03/06/05 22:38
>>337
ちょいまち、おれは325のプログラム試したんだが
100超えたところからいきなり太くなったよ
なんでだ?
ちなみにDOS窓使ってないのでそのことではない
>>336
っていうか、ある程度並んでればOKなの?
>>338
>>325>>328の理由でゆがみます。
>>320のプログラムは一応何段になっても三角形っぽくなるよ。
341338:03/06/05 22:56
>>340
ウホォッ 綺麗な三角形!
俺のあそこも ぴんこ立ち
342325-326:03/06/05 23:51
ん、ああ、ピラミッドの並べ方についての認識が違うってのね。
提示された仕様が曖昧なんだから、どっちが正解とも言い切れないんじゃないの?
ロクガツムイカニアメザーザー
サンカクジョーギニヒビイッテー
344デフォルトの名無しさん:03/06/06 20:50
文字当てゲームを作る宿題です。

A〜Eの中から2文字を重複しないように文字列を作って、ユーザーが当てるというもの、
おながいします。
>>344
ABCDEをランダムに並べ替えたものをユーザに当てさせるってことかな?
>>344
import java.io.*;
public class Quiz {
public static void main(String[] args){
char[] table = {'A','B','C','D','E'};
int i = (int)(Math.random() * 4);
String ans = new String();
ans += table[i];
if(i!=4){table[i] = table[4];}
ans += table[(int)(Math.random() * 3)];
try {
BufferedReader br = new BufferedReader(new InputStreamReader( System.in ) );
while( true ) {
System.out.print( "Input Word >> " );
String input = br.readLine();

if(ans.equals(input)){
System.out.println("正解です => " + input);
break;
}else{
System.out.println("ハズレ => " + input);
}
}
}
catch( Exception e ) {
System.err.println("Error : " + e);
System.exit(-1);
}
}
}

>344
こんな感じか。

public class HomeWork {
    public static void main(String[] args) {
        final String[] characters = {"A", "B", "C", "D", "E"};
        java.util.Random random = new java.util.Random();
        int c1 = random.nextInt(characters.length);
        int c2 = c1;
        while(c2 == c1) {
            c2 = random.nextInt(characters.length);
        }
        String answer = characters[c1] + characters[c2];

        System.out.println(answer.equals(args[0]) ? "正解!" : "はずれ。" + answer + "でした。");
    }
}

しかし、このまま提出して、「じゃあ各行を説明してみれ」と聞かれたらどうするのかね?
>347
ああ、使い方はclass作ってから
java HomeWork AB
とか、引数に答えを指定、な。
344です。
>>345さん、>>346さん、>>347さん、>>348さん
どうもありがとうございました。

説明しなくてもいいです。とりあえず、プログラム提出だけの予定なので。
>>346-347
へーこんだけのプログラムでも、力量の差がこんなに出るものなのか。
351338:03/06/07 01:22
>>350
まったくだ、特に
int c1 = random.nextInt(characters.length);
int c2 = c1;
while(c2 == c1) {
c2 = random.nextInt(characters.length);
}
のループは、思いつかないな
さいしょ、なんでc2にc1代入してんのかなと思った
しかもたぶんおれも、Math.random()使ってたな
>>351
↓これなら自然に思い付きそうな気がするが
int c2 = c1;
do {
  c2 = random.nextInt(characters.length);
} while (c2 == c1);
Math.random() より util.Random() のほうがいいの?
>353
そんぐらい、APIリファレンスとJSKのソース見て自分で決めろ。
>>353 >>354のいうとおりだ

ちなみに、リファレンスには「ふつーはMath.random()の方が簡単」って
お勧めしてあったはず
リファレンス読んでれば、それくらいわかると思うが
かなり初心者のものですけど、
四角の中をランダムでgifを動かすプログラムを作って貰えませんか?
357デフォルトの名無しさん:03/06/17 22:49
switch 文と if 文を使って次のアプリケーションを作成してください。

コマンドライン引数で 0 から 6 の数字を入力して、対応する曜日を出力してください。但し、
0 から 6 以外のコマンドライン引数が入力された場合以外は、「0 から 6 の整数を入力してください」と出力してください。

最低限度、次のケースを想定してください。

* 引数が無い
* 0 から 6 までの整数以外の引数が指定された

おながいしますo(*´д`*)oブンブンハァ
import java.io.*;

public class そんな問題出す教官シメロゴルア!{
 public static void main(String args[]){
  try{
 String[] youbi ={"月","火","水","木","金","土,"日"};
   String in = new BufferedWriter(System.in).readLine();
   System.out.println(youbi[Integer.parseInt(in)]);
  }
  catch(NumberFormatException e){System.out.println("数字じゃネエゾゴルア!");}
  catch(Exception e2){System.out.println("0〜6入れろつったろボケェ!");}
 }
}
String in = new BufferedReader(new InputStreamReader(System.in)).readLine();
ですね。
360357:03/06/18 11:25
import java.io.*;
class ensyu{
public static void main(String args[]){
try{
String[] youbi ={"月","火","水","木","金","土","日"};
String in = new BufferedReader(new InputStreamReader(System.in)).readLine();
System.out.println(youbi[Integer.parseInt(in)]);}
catch(NumberFormatException e){System.out.println("数字");}
catch(Exception e2){System.out.println("0から6入れろ");}
}}

どうも、できません、もう少しアドバイスください。
「コマンドライン引数」って意味わかってる?
なんでInputStreamRearderがでてくんだよ。
362357:03/06/18 20:20
>>361

すみません、色々さぐってたら、完成しました。お騒がせしました。
363デフォルトの名無しさん:03/06/19 02:20
>358=>360? 本当に、BufferedReader(InputReader(System.in))好きだよね。
そしてclose()がどこにもない。
 
>>363
お前、いちいちSystem.inを明示的にClose()してるの?
Javaの仕様書をよく嫁
366デフォルトの名無しさん:03/07/01 23:37
数字を何個か入力して
最後にその中の一番大きい数字と一番小さい数字を
表示するにはどうすればいいですか?
>>366
そんなんJavaの質問じゃないだろ
Cでもきちんとfclose(stdin);fclose(stdout);fclose(stderr);しています。
>>366
どうやって入力すんの?
キーボードからといったらコロス
370366:03/07/01 23:56
>>367
すいません
詳しく書きます
まず生徒数を入力して
入力した人数分の点数を入力するんです
こんな感じで
生徒数を条件にして
for文を使ってやれって言われてます

生徒数 5
生徒1 50
生徒2 80
生徒3 30
生徒4 10
生徒5 60

これで最後に平均点と最高点と最低点を
表示させるという問題なんですが
最高点と最低点の出し方がわからないんです
だからどうやって入力すんの?
>>370
最高点と最低点を出すとこだけ飛ばして、プログラムを書いてアップすれ
373366:03/07/02 00:00
>>369
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
これ使ってやれっていわれてます
374366:03/07/02 00:04

class kadai1
{
public static void main(String args[]) throws IOException
{

System.out.print("学生の数:");
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
String str1 = br.readLine();

int num = Integer.parseInt(str1);

int rum;
int sum=0;

for(int i=1; i<=num; i++){
System.out.print("#"+i+":");
String str2 = br.readLine();
rum = Integer.parseInt(str2);
sum+=rum;
}
System.out.print("平均点:"+sum/num);
}
}
>>374
int max = 0;
int min = 999999;
for(int i=1; i<=num; i++){
System.out.print("#"+i+":");
String str2 = br.readLine();
rum = Integer.parseInt(str2);
sum+=rum;
if(max < rum) max = rum;
if(min > rum) min = rum;
}
376366:03/07/02 00:39
最後の
System.out.printでこれをだしたいんですけど
どうゆうふうに書けばいいんでしょう

平均点○○   最高点○○  最低点○○

簡単な質問ですいません
>>376
>System.out.print("平均点:"+sum/num);
↑これと同じように書けばよい。
ちなみに分かっているとは思うが、最高点はmaxで最低点はmin
378366:03/07/02 00:56
できました
ありがとうございました
今日はもう寝ます
まだわからない問題があるので
今度また教えてください


          ('A`)
      /⌒⌒⌒⌒⌒ヽ
     // ̄ ̄ ̄フ /
   / (___/ /
   (______ノ
class LinkList
{
private Link first; // ref to first link on list
public LinkList() // constructor
{
first = null; // no links on list yet
}
public void insert(double d)
{ // make new link
Link current = first;
Link newLink = new Link(d);
if(first == null) first = newLink;
else
{
while(current.next != null)
current = current.next;
current.next = newLink;
}
}
public void display()
{
System.out.print("List : ");
Link current = first; // start at beginning of list
while(current != null) // until end of list,
{
current.displayLink(); // print data
current = current.next; // move to next link
}
System.out.println("");
}
public Link returnLink()
{
return first;
}

public void mergesort(Link lnk)
{
if(lnk.next == null) return;

int n=0;
Link lnk1,lnk2,current = lnk;
while(current != null)
{
current = current.next;
n++;
}
int mid = n/2;
current = lnk;
lnk1 = current;
for (int i=0;i<mid-1;i++)
current = current.next;
lnk2 = current.next;
current.next = null;
mergesort(lnk1);
mergesort(lnk2);
merge(lnk1,lnk2);
return;
}
public void merge(Link a,Link b)
{
if(a.Data <= b.Data)
{
a.next = b;
first = a;
}
else
{
b.next = a;
first = b;
}
return;
}
} // end class LinkList

連結リストを利用してマージソートを行なうプログラムを作成しているのですが
うまく動きません。肝心なLinkListメソッドは上記の通りです。どこがいけないのか
教えてください。お願いします。
その他のクラスです。
import java.io.*; // for I/O
class MergeSortApp
{
public static void main(String[] args)
{
LinkList arr = new LinkList();
arr.insert(64); // insert items
arr.insert(21);
arr.insert(33);
arr.insert(70);
arr.display(); // display items
Link lnk = arr.returnLink();
arr.mergesort(lnk);
arr.display(); // display items again
} // end main()
} // end class MergeSortApp
class Link
{
public double Data; // data item
public Link next; // next link in list
public Link(double d) // constructor
{
Data = d; // initialize data
}
public void displayLink() // display ourself
{
System.out.print("{" + Data + "} ");
}
} // end class Link
383デフォルトの名無しさん:03/07/02 23:03
>>379-382
これがプログラム全体です。直すべきところはmerge()メソッドと
mergesort()メソッドだと思うのですが。
他の場所の修正の必要は無いと思います。多分…。
>>383
merge がヘンなんじゃないかな?
中身が「A→B→null」と「C→D→null」となっている2つのリストを与えた時、
抜ける時には「A→C→D→null」または「C→A→B→null」となるんじゃない?
385366:03/07/03 01:30
この前のと同じやつで最後に合計の桁数を
表示させるにはどうすればいいのでしょうか?
ヒント:
log_10 1 = 0
log_10 10 = 1
log_10 100 = 2
java.lang.Mathクラス
387383:03/07/03 18:26
>>366>>385
int i=(int)(Math.log(X)/Math.log(10.0));
System.out.println((i+1)+"桁です。");
変数Xに桁数を調べたい数を代入すればよし。

マージソート、ダメです。動きません。merge改良してみましたが
実行すると無限ループに陥るらしく終了しません。
本当に難しいです。↓が改良したやつです。誰か〜、助けて!お願い!!!
388383:03/07/03 18:27
public void merge(Link a,Link b)
{
int end = 0;
Link cura=a,curb=b,preva=a,prevb=b;
while(end != 1)
{
if(cura.Data < curb.Data)
{
while(cura.Data < curb.Data)
{
if(cura.next == null)
{
cura.next = curb;
end = 1;
break;
}
preva = cura;
cura = cura.next;
}
if(end == 1) break;
preva.next = curb;
prevb.next = a;
a = cura;
}
389383:03/07/03 18:28
else
{
while(curb.Data < cura.Data)
{
if(curb.next == null)
{
curb.next = cura;
end = 1;
break;
}
prevb = curb;
curb = curb.next;
}
if(end == 1) break;
prevb.next = cura;
preva.next = b;
b = curb;
}
}
}
>>387
//LinkList前半
class LinkList {
  private Link first;
  public LinkList(){
    first = null;
  }
  public void insert(double d){
    Link current = first;
    Link newLink = new Link(d);
    if(first == null){
      first = newLink;
    }else{
      while(current.next != null){
        current = current.next;
      }
      current.next = newLink;
    }
  }
  public void display(){
    System.out.println("List : " + first);
  }
  public void mergesort(){
    first = mergesort(first);
  }
  private Link mergesort(Link lnk){
    if(lnk.next == null)return lnk;
    int n=0; Link current = lnk;
    for(n = 0; current != null ; n++) current = current.next;
    int mid = n/2;
    current = lnk;
    for (int i=1;i<mid;i++) current = current.next;
    Link firstHalf = lnk,secondHalf = current.next;
    current.next = null;
    return merge(mergesort(firstHalf), mergesort(secondHalf));
  }
  private Link merge(Link a,Link b){
    Link preva=a,prevb=b, first = ( a.Data < b.Data ? a : b );
    while(a != null && b != null){
      if(a.Data <= b.Data){
        do {
          preva = a;
          a = a.next;
        }while( a != null && a.Data <= b.Data );
        preva.next = b;
      } else {
        do {
          prevb = b;
          b = b.next;
        }while( b != null && b.Data < a.Data );
        prevb.next = a;
      }
    }
    return first;
  }
}
//その他のクラス
class Link {
  public double Data;
  public Link next;
  public Link(double d){
    Data = d;
  }
  public String toString(){
    if(next != null){
      return "[" + Data + "]," + next;
    }else{
      return "[" + Data + "]";
    }
  }
}
class MergeSortApp {
  public static void main(String[] args){
    LinkList arr = new LinkList();
    arr.insert(64);
    arr.insert(35);
    arr.insert(21);
    arr.insert(33);
    arr.insert(36);
    arr.insert(70);
    arr.insert(35);
    arr.display();
    arr.mergesort();
    arr.display();
  }
}
>     Link preva=a,prevb=b, first = ( a.Data < b.Data ? a : b );
    Link preva=a,prevb=b, first = ( a.Data <= b.Data ? a : b );

じゃないとダメだね。
ちなみに merge 内の判定が a.Data < b.Data だと安定で無くなります。
394384:03/07/03 21:02
グハアァッ!!タッチの差でソース乗せられてしまった!シクシク…。
蛇足かもしれないけど、どこが悪かったのかというと、 mergesort( lnk1 ) を呼び出した後、
先頭が lnk1 のままだとは限らないから、リンクの先頭を返さなくてはいけなかったんだよ。
>>394
それだけじゃなくて、
preva.next = curb;
の後
prevb.next = a;
a = cura;
とか意味不明な事をしてて、これで無限ループに入る。
自作するより、
java.util.LinkedListとjava.util.Collections#sort()を
コピペするほうが良かったかもな。

Javaで仕事していて、マージソートのロジックをいまさら自作
する機会なんかないだろうな。
397383:03/07/04 16:49
383です。みなさんありがとうございました。
おかげさまで出来ました。本当に感謝です。
学校の課題をするのに「ろじぱら」の「1UPきのこをさがせ」みたいなのをやろうかと思うんですが、
サボったつけが回ってきてさっぱりわかりません(;´Д`)
2つの指定した画像を表示して、それを場所が入れ替わるように動かす(1回だけ)、という基本動作を教えてもらえませんか?
399セレクタ:03/07/10 22:06
始めまして、今JAVAとCGIの連動にチャレンジしてます。
何度も壁にあたりながら、ようやくゴールが見えてきましたが
最後の壁にぶち当たりました。

とりあえずこのページを見てください。
問題のページ
http://www.pika1.com/testtesttest/ite_jo[2].htm

完璧なページ
http://www.pika1.com/testtesttest/ite_jo[3].htm

ショッピングバスケットにJAVAを連動させたいのですが
複数個設置すると誤作動が起きてしまいます。
どうにもこうにもしようが無く皆様にお力を貸していただきたく
書き込ませていただきました。

どなたかわかる方がいらっしゃいましたら、教えてください。
まだまだ最後じゃないな。
401セレクタ:03/07/10 23:02
どうやれば上手くいくのでしょう?
教えてください。
402_:03/07/10 23:02
マルチなので教えません。
みんなも教えないように。
404セレクタ:03/07/10 23:10
始めまして、今JAVAとCGIの連動にチャレンジしてます。
何度も壁にあたりながら、ようやくゴールが見えてきましたが
最後の壁にぶち当たりました。

とりあえずこのページを見てください。
問題のページ
http://www.pika1.com/testtesttest/ite_jo[2].htm

完璧なページ
http://www.pika1.com/testtesttest/ite_jo[3].htm

ショッピングバスケットにJAVAを連動させたいのですが
複数個設置すると誤作動が起きてしまいます。
どうにもこうにもしようが無く皆様にお力を貸していただきたく
書き込ませていただきました。

どなたかわかる方がいらっしゃいましたら、教えてください。
マルチポストなので誰も答えないでください。
>>セレクタ氏
書き込み先の *全ての* スレに目を通して,大人としての行動を全うすること。
web製作板とかにもマルチポストやってるんじゃないのか? いや,知らないが(w
407保守:03/07/11 10:43
授業の一環で数あてゲームを作ることとなったのですが、
いまいち組み立て方がわかりません。

*設定*
・1-1000の数字
・コンピュータが作成した数字をあてる。
・その数字と自分の数字を比べ、「それよりも大きい」「それよりも小さい」で
 結果を表示。
・正解までの回数を表示する。

初歩的なプログラムですが、よろしくお願いします。
408保守:03/07/11 11:01
すいません、もう既出でした。
確認しなくてすいません。
コノ問題、頻出だけど
同じ教授か?
下らん問題だよな。
HTMLでも書き出させる問題にすりゃ、学生のモチベーションも上がるだろうに。
411山崎 渉:03/07/15 09:57

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
412デフォルトの名無しさん:03/07/19 08:38
もうひとつの宿題スレが1000になったのでage
俺学生の頃、ポリゴンで図形書いたりするのとかやったんだが
いまは、こんなことしかやってないのか?なんかレトロな問題出すよなぁ
こんなのやるよりは、エクセルワードやってたほうがよっぽどためになるだろ
だいたい、>>407程度のことを考えようとしない連中にとっては無駄だろ
414デフォルトの名無しさん:03/07/19 13:25
>>413
もういっそのことテンプレはったらいいんじゃね?
つくったやつあるからコピっときま
415_:03/07/19 13:28
416sageわすれごめ:03/07/19 13:29
import java.io.*;

public class Kazuate{
public static void main(String[] args){
int w =(int)(Math.random()*1001);//答えをwとする
System.out.println("コンピューターが選んだ数字(0~1000)を当ててみてくだしあ");
int i = 0;
int j = 0;
do{
boolean ok = showQuestion(i+1,w);
if(ok){
System.out.println("正解だゴルア!");
break;
}else{
}
i++;
}while(j==0);
}
public static boolean showQuestion(int questno,int w){
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in),1);
try{
System.out.println("早く答えろや、ゴルア!");
String line = reader.readLine();
int x = Integer.parseInt(line);
if(x==w){
System.out.println("まぁ、そのなんだ、"+questno+"回目であたっちまった");
return true;
}else if(x>=0&&x<w){
System.out.println("もっとでけーよゴルア!");
return false;
}else if(x>w&&x<1000){
System.out.println("もっとちぃせーよゴルア!");
return false;
}else{
System.out.println("0~1000だっていってるだろ・・・");
return false;
}
}catch(IOException e){
System.out.println(e);
}catch(NumberFormatException e){
System.out.println("おまえなぁ・・・( ゚Д゚)イッテヨスィ");
}
return false;
}
}
きたねープログラムだなぁ・・・
>>416-417
JavaなのにCみたいな書き方すんじゃねーよ、タコw
420デフォルトの名無しさん:03/07/19 17:18
こんなに見えちゃってヤバクない???
抜いても抜いても また勃起しまくり・・・
 ↓ ↓ ↓

☆★☆★ 海外サイトだから安心無修正 ★☆★☆
http://upbbs.s2.x-beat.com/linkvp/linkvp.html
http://upbbs.s2.x-beat.com/linkvp/linkvp.html
☆★☆★ 本気汁丸出しのお○○こが! ★☆★☆
>>419
まえから立てたかったスレがあるんだよ

【Java】教授もフンガッフフ簡単な問題もOOPでイケ【宿題】
422418-419:03/07/19 17:49
>>416-417
不等号の向き、お前、中学で習ってないのか?恥ずかしいぞw
0<x<100こういうふうにかけよ、笑われるぞ(ププ
それとクラスを2個に分けてる意味がない。バカだなぁ・・・
IF文はウゼーからSwitch文にしろ。低脳丸出しだぞw
423418-419:03/07/19 17:50
>>421
ご親切にどうも(プ
まえから立てたかったスレがあるんだよ

【Java】教授もフンガッフフ簡単な問題もOOPでイケ【宿題】
必死だな(プゅ
JavaっぽいHello World

public class Hello
{
public Hello()
{
System.out.print("Hello");
}
};
public class Space
{
public Space()
{
System.out.print(" ");
}
};
public class World
{
public World()
{
System.out.print("World");
}
};
public class Ln
{
public Ln()
{
System.out.println();
}
};
public class Main
{
public static void main(String args[])
{
 Hello hello = new Hello();
Space space = new Space();
 World world = new World();
 Ln ln = new Ln();
}
}
最先端の Hello! World

import java.io.*;
import java.util.*;

import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;
import org.xml.sax.*;
import org.w3c.dom.*;

(以下略
やけになるなよw
JavaはOOだろ!
Cのような書きかた教えるのは3流大のアフォ教授だろw
>>426
だめだなそんなんじゃ
いいか?System.out.printするのは共通の処理だよな?
だったらそれをオブジェクトにすれよバカ
お前のやってるのは、単にクラスの羅列じゃねーか
432デフォルトの名無しさん:03/07/19 22:13
まえから立てたかったスレがあるんだよ

【Java】教授もフンガッフフ簡単な問題もOOPでイケ【宿題】
433デフォルトの名無しさん:03/07/19 22:17
いまかなりの人気でたくさんの人が見に来てるからぜひあなたも来て!!
http://www3.free-city.net/home/espresso/au/sweety.html

今夜も最高の女性達が大集合!無修正で、、、。
http://www3.free-city.net/home/espresso/princess/pinkjelly.html
つまりだ。
PrintStream ps = System.out;
ps.println(">>426はアフォ");
>>422
> IF文はウゼーからSwitch文にしろ。低脳丸出しだぞw
その発言はやめれ。んなこといって厨を勘違いさせるのは控えめにしろ。
オブジェクト指向を極めたかったらswitchなんぞに頼らず
if文をStatteパターンなどで工夫して実装せい。

>>416-417に関していいたいこと。

if文の中のSystem.out.print("もっと.....");
の部分を
throw new >>416-417的Exception("もっと....");
に変えてしまいたいくらいじゃ。
( >>416-417的Exceptionは自作してくれ。)

try-catch statement内でreturn文を使うなヴォケ
IOExceptionもNumberFormatExceptionもシカトさせてどうする。
Exceptionを無視してどうする。どこにバグがあるかわかりにくくなるだけだろーがヴォケ。
例外処理の上手な使い方知らない奴め。

>>435
(´・ω・`)ショボーン

頑張って必死に書いたのに・・・
みてわかると思うけど、はじめたばっかでコレでも知識フル動員です

Switch文のほうが見やすいものですか?
メソッド2つにしたほうがみやすいと思ったのに、それも否定されて(´・ω・`)ショボーンでした。
クラスはひとつですけど。
参考までにみやすいプログラム書いてもらえるとありがたいです。
>if文をStatteパターンなどで工夫して実装せい。
ググってみたが分からなかった。
デザインパターンはよくワカランがどういう方法だ?
438デフォルトの名無しさん:03/07/20 08:49
>>436
俺なら司会者(進行構成)、回答者(入力)、出題者(出題、検査)の3つのクラスを作る。
リストは長くなって回りくどい処理になるがあとからいろんな機能がつけやすい。
載せてもいいけど、長い上、叩かれそうなので勘弁(俺も初心者)
>>437
Stateパターンですお。状態に「状態に基づいた手続き(メソッド)」
をくっつけて、別々のクラスを定義→状態におうじてクラスオブジェクト
を差し替えて、「状態に基づいた手続き」の部分をポリモルフィック
に呼び出す、のですお。
>>439
状況に応じて人間クラスに定義されている気分クラスを切り替える感じだな?
441416-417:03/07/20 10:46
次スレに答えだしました(ココではすれ違いなので・・・)
評価お願いします (コレが限界です
http://pc2.2ch.net/test/read.cgi/tech/1058624656/
442440:03/07/20 10:48
人間クラスに対して「今日も10時まで残業だよ」と問い掛けると
定義されている気分クラスにしたがって「了解です」や「ボソ、はい(うわぁ・・・勘弁してくれよ)」
てな感じで応答が変化するんだね。分かったよ

でも数の比較をする今回の例では有効ではありませんねw >>435
>>442
非常に有効だと思うが。
比較条件を state に内包しちゃって、
条件マッチするかどうか state 一個一個に問い合わせて。
デザパタにこだわりすぎて、単純な状態遷移でクラスだらけにするのってアホらし
445416=417=436:03/07/20 12:39
>441(オレじゃないですよ)
すいません。
みたけど、よくわかりませんでした。
あとOOPってなんでしょうか?
ほんとうにわかりません。
釣りじゃないです。
皆さんのはじめて2週間ってどんなもんでした?
スレ違いになりそ・・・
Object Oriented Programming
>>445

おおすまんすまん、書く場所間違ってしまった
>>446
オブジェクト指向ってことですか、ありがとです。
449デフォルトの名無しさん:03/07/21 02:02
JavaでちょっとしたIME作ろうと思うんだけど、どうやんの?
450デフォルトの名無しさん:03/07/21 04:40
2次配列を使って。片方はint、片方はStringを入れるという宿題がでました。
どうすればいいのでしょうか?まったく手がつけられません。
>>450
そんな宿題が出るはずない。
452java中級者:03/07/21 07:51
import java.io.*;

public class Kazuategame {
public static void main(String[] args) throws Exception {
int count = 0;
int answer = (int)(Math.random() * 1001);
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));

System.out.println("**********数当てゲーム**********\n0〜1000までの数を入力してください");

while (true) {
String a = bf.readLine();
int x;
try {
x = Integer.parseInt(a);
}
catch(NumberFormatException e) {
System.out.println("\n整数を入力してください\n");
continue;
}
if (0 > x || x > 1000) {
System.out.println("0〜1000までの数を入力してください");
continue;
}
453java中級者:03/07/21 07:52
if (x == answer) {
System.out.println("正解" + count + "回目");
System.out.println("もう一度やりますか? [yes]で続ける");
if (bf.readLine().equals("yes")) {
answer = (int)(Math.random() * 10);
count = 0;
continue;
}
else {
System.out.println("終了します。");
System.exit(0);
}
}
else {
System.out.println("不正解");
count++;
if (x < answer)
System.out.println("答えた値より大きいです。");
else
System.out.println("答えた値より小さいです。");
}
}
}
}
454java中級者:03/07/21 07:53
>>436
間違ってる部分は直してくれ
それじゃぁがんばってくれ
|彡サッ
>>450 二次元配列の片方って何?
20以下の正整数 n の値を入力し、m=1,2,…,n に対して一般項がak,m=3k-m2 (k=0,1,2,・・・) の数列を考える。
各mに対して定まる数列の初項 a0,m から第 k 項 ak,m までの部分和 sum が10,000 (=1万)をはじめて超えたときの
k,3k-m2,sumの値を下の結果のように表示するプログラムを作成せよ。

m:k 3k-m^2 sum
1:xx xxx xxxx
2:xx xxx xxxx
… … … …
20:xx xxx xxxx


public class Title {
public static void main(String[ ] args) {
int m;
for (m=1;m<=20;m++) {
int a,k;
a=0
k=1
k++
while (a<=10000){
a=a+3*k-m*m;
}
}
System.out.println("m: k 3k-m^2 sum");
System.out.println(m+"..."+k+"..."+3*k-m*m+"......"+a);
}
}



間違ってるらしい・・・超へタレ初心者に御加護を与えてくれる神、光臨してください。
int m;
System.out.println("m\t: k\t\t3k-m^2\tsum");
for (m = 1; m <= 20; m++) {
 int a, k, sum;
 k = 1;
 sum = 0;
 while (sum <= 10000) {
  sum += 3 * k - m * m;
  k++;
 }
 a = 3 * k - m * m;
 System.out.println(m + "\t: " + k + "\t" + a + "\t\t" + sum);
}
>>450
map<string, std::map<int, string>> ma;
ma["hoge"][16] = "str";
C++だけど。
map<string, std::map<int, string> > ma;
ma["hoge"][16] = "str";
C++だけど。
460450:03/07/21 16:31
いや、もはや僕には問題の内容すらまったくわからないので。
問題は「1つの配列にint型の数字とString型の文字列を入れなさい」って問題なんですけど。
自分は2次配列を使うのかなと思いました。

本当に1手目からわからないので何か教えてください。
ちなみにJavaは今春から始めました。他の言語はやってません。
>>460
できません
462450:03/07/21 16:59
できないんですか?
でも、宿題で出されたのですが・・・・
Javaには構造体ないんだよな
>>462
int型じゃなくてInteger型じゃないの?
あるいは、

class Test{
String s;
int i;
}

↑このクラスを入れる配列とか作れってことか?

Test[] test=new Test[10];
>>457
まだチェックしてないけど取り敢えずサンクス
>>460
とりあえず問題を正確に書いてみてください
468450:03/07/21 20:01
「配列の0番目に名前、1番目に生年月日、2番目に住所をいれなさい。生年月日は19801225というような形のint型で入れなさい」
こんな感じだったと思います。
>>450
問題の内容が正確には把握できないのでアレなんだが、
要はint型もString型もいったんString型として扱って、int型として使いたいときに
int型に変えろ、ってことじゃないですか?
間違ってたらササッ((((・_・)
>>468
String[] personaldata =new String[]{"name","birthday","address"};
じゃだめなの?
String name="250氏";
String address="2ch";
int birthday=20030721;

String data[]={name,address,String.valueOf(birthday)};
とかいう落ちじゃなくて?
でもこれじゃ宿題になるわけないしなーw
もしできるんなら俺も知りたいっす
>435
>try-catch statement内でreturn文を使うなヴォケ
>IOExceptionもNumberFormatExceptionもシカトさせてどうする。
>Exceptionを無視してどうする。どこにバグがあるかわかりにくくなるだけだろーがヴォケ。
>例外処理の上手な使い方知らない奴め。

このへんは放置ですか。
>435は言語仕様読み直せ。
473450:03/07/21 21:23
皆さまの教えてくださったやり方を参考にやってみます。
まだ2ヶ月なもので頑張りたいと思います。
>>473
ガン( ゚д゚)ガレ
わかったら教えてね
月曜から金曜までの講義のコマ数をint型の配列変数にいれ、繰り返しを用いて「○曜日は○コマの講義があります」と
表示せよ。また1週間のコマ数の合計と1日平均コマ数を計算し、表示せよ。そして合計コマ数が12未満であれば、「コマ数は少ないです」
と表示、12以上15未満であれば「コマ数は数は普通です」と表示し15以上なら「コマ数は多いです」と表示する、プログラムをお願いします。

こんなの
月曜は1コマの講義があります。
火曜は3コマの講義があります。
水曜は3コマの講義があります。
木曜は5コマの講義があります。
金曜は2コマの講義があります。
全部で14コマの講義があります。
1日平均2.8コマの講義があります。
コマ数は普通です。
public class WeekNum {
public static void main(String args[]){
String[] week={"月曜","火曜","水曜","木曜","金曜"};
int[] classNum={1,2,3,4,5};
int sum=0;
for(int i=0;i<classNum.length;i++){
System.out.println(week[i]+"は"+classNum[i]+"コマの講義があります");
sum=sum+classNum[i];
}
System.out.println("全部で"+sum+"コマの講義があります");
System.out.println("平均で一日"+(sum/classNum.length)+"コマの講義があります");
if(sum>=12 && sum<15) System.out.println("コマ数は普通です");
if(sum>=15) System.out.println("コマ数が多すぎます");
if(sum<=12) System.out.println("コマ数が少なすぎます");

}

}
>>475
適当に作ったんで参考にどうぞ
間違ってたら直してください
477476:03/07/21 22:32
自己レスなんだけど
激しくif分岐のところがおかしいですね。直しといてください(・∀・)

ってこうゆう静的なコードにifって必要なんだろうか?
コマしすぎです。
>>476
ありがとうございます。
でもどこがオカシイのか、わかりません・゚・(ノД`)・゚・
>>479
いや・・・12かぶってるし
else使ってないんで効率悪いし
if{(sum>=12 && sum<15) System.out.println("コマ数は普通です");}
else if{(sum>=15) System.out.println("コマ数が多すぎます");}
else{ System.out.println("コマ数が少なすぎます");}
こんな感じ?かな
>>480
こんな感じでいいんでしょうか?

public class WeekNum {
public static void main(String args[]){
String[] week={"月曜","火曜","水曜","木曜","金曜"};
int[] classNum={1,2,3,4,5};
int sum=0;
for(int i=0;i<classNum.length;i++){
System.out.println(week[i]+"は"+classNum[i]+"コマの講義があります");
sum=sum+classNum[i];
}
System.out.println("全部で"+sum+"コマの講義があります");
System.out.println("平均で一日"+(sum/classNum.length)+"コマの講義があります");
if{(sum>=12 && sum<15) System.out.println("コマ数は普通です");}
else if{(sum>=15) System.out.println("コマ数が多すぎます");}
else{ System.out.println("コマ数が少なすぎます");}

ありがとうございますた。
482デフォルトの名無しさん:03/07/22 01:48
キーボードで"1"と入力すると"2"と出力されるようなプログラムを作りたいのですがソースはどんな感じになるのでしょうか?
キーボードで1以外が入力されたときの動きはどうでもいいのか?
>>483
いいからさっさと教えろよ
余計なことは考えるな
はい。
public class Main {
  public static void main(String[] args) {
    System.out.println("2");
  }
}
>>485
死ねよ
>>485
キーボードから入力される前に表示されてしまうと思うが
アホばっかかよ(藁
オラ、こんな簡単な問題もできないでどーする?ゲラ
1以外の入力があった場合とか
何も入力が無かった場合とか、
そういう「余計なこと」は一切考えずに、仕様を満たしていると思うが。

少なくともプログラム動作中に1を入力したら、2が表示される。(藁
main()
{

for(;;)
{
 int c = getchar();
 putchar(c == '1' ? '2' : c);
}

}
>>488 ホレ
import java.io.*;

public class NumPlusOne {
public static void main(String[] args) throws Exception {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int x = Integer.parseInt(new String(bf.readLine()));
System.out.println((x+2));
}
}
>>488
未コンパイルだし当てにするな。

public class OneTwo {
public static void main(String[] args) {
try {
char buf[1];
if (new java.io.InputStreamReader(System.in).read(buf) <= 0)
System.out.println((char)(buf[0] + 1));
System.exit(0);
} catch (java.io.IOException e) {}
}
}
493492:03/07/22 05:03
恥ずかしい。
s/<=/>/g
494デフォルトの名無しさん:03/07/24 00:14
「自分でやって面白いと感じられるゲームをアップレットで作れ」というのが出ました。
皆様ならどのようなゲームを作りますか?
また、何か良いアイデアはありますか?テレビゲーム系のゲームでもいいとか言われました。
>>494
エロゲー
無性にDQ1なみのRPG作りたい。
498494:03/07/24 01:55
ドラクエ1って作るの難しいんじゃないんですか?
皆様くらいのスキルならちょっと休憩にくらいな気分でできちゃうんですか?
>>498
プログラムが必要な部分はともかくとして、グラフィックリソース
や音源リソースが休憩中に作れるのか、君は。すごいね。
>>499
>>498の何処に作れると書いてあるのか(略
501494:03/07/24 02:21
そうゆう意味で書いたわけでは・・・・。
ドラクエ1を作るのはどのくらいのスキルがあればできるのでしょう?
僕には天を仰ぐような感覚ですが。
502_:03/07/24 02:23
すぎやまこういち並の作曲力と、
堀井雄二並の発想力と、
鳥山明並の絵画力があればできます。
>>503
そんなに厳しいわけないでしょ(ワラ
505494:03/07/24 02:30
そうゆう意味で言ってるんじゃありませんって〜。
ん〜、何て言えばいいのかな〜。
伝わりません?言いたい事。
このもどかしい感じが・・・・。

なんというか、完璧にドラクエ1でなくていいのでそれに近い感じのゲームを作るにはどのくらいスキルが必要か教えてほしいというかなんというか・・・。
表現するのが難しい質問です。
プログラミングは"難しく"はないだろう。大量のリソースやら
シナリオやらの管理が"面倒くさい"だけですのう。
で、その"大量の各種リソース"を誰が何時どうやって作るのか
という問題がありますのう。
507494:03/07/24 02:33
なら、短いRPGなら少し勉強すれば作れるようになりますか?
>>507
なるよ。グラフィックスも音もない、自作ショボRPGなら、そこら
へんにいくらでも転がってるでしょ。
509494:03/07/24 03:01
では、がんばってこの夏にアップレットRPGを製作してみます!
シナリオを書いたり絵を描いたり、システムの構想を練ったりするのが一番時間がかかりそう・・・
RPGツクールを使ってもこの辺は変わらないね。
夏になると回答者にも変なのが混ざるようになるんだよね☆
小学生のときの話で当時MSXを使っていたんだが
友達にゲームを作ろうと言われたんだよな。
当時からプログラミングをしていた俺はそいつに言った。
「ゲームを作るのは大変だ。絵や音楽やシナリオを作らなきゃならないから。」
当時からプログラミングが大変だとは思っていなかった。
最近の子供はここまで考えることが出来ないのかな?
小学生のときの話で当時MSXを使っていたんだが
友達にゲームを作ろうと言われたんだよな。
当時からプログラミングをしていた俺はそいつに言った。
「ゲームを作るのは大変だ。絵や音楽やシナリオを作らなきゃならないから。」
当時からプログラミングが大変だとは思っていなかった。
最近の子供はここまで考えることが出来ないのかな?
514デフォルトの名無しさん:03/07/24 15:57
絵は僕が書きますよ
515デフォルトの名無しさん:03/07/24 16:02
516デフォルトの名無しさん:03/07/25 01:09
java言語でタイピングソフトの簡単なプログラム教えてくださいませんか?
アプレットではなくアプリケーションで。
ただ表示された文字を打つだけの簡単なやつでいいので。





517まこと:03/07/25 13:27
プログラム1:整数NとPを入力し、1からNまでの間にあるPの倍数をリストする
518?:03/07/25 13:29
>>517
P*1
P*2
P*3
P*4


P*○
これ全部表示すればいい 終了条件はP*○>Nのとき ちなみに常にP<Nでいいんだよな?
520教えてください:03/07/25 23:22
プログラム1:整数NとPを入力し、1からNまでの間にあるPの倍数をリストする
 
考え方:NがPより小さければ終了(リスト不可能)。そうでなければ、int型の変数iをPから始めてPずつ増やしながら(i=i+P)画面に表示する。iがNを越えたら終了。
println( ) を使うと画面上で改行が入るので、数字を続けてリストするために print( ) を使うこと。
while文、for文のどちらを使ってもよい
521教えてください2:03/07/25 23:23
プログラム2:10進数の整数の桁数を表示する
例えば "12340" という整数が与えられたとき、5けたの数字であるから "5" を表示するようなプログラムを作れ。
522_:03/07/25 23:23
523教えてください3:03/07/25 23:25
プログラム3:必要なお札・硬貨の枚数を表示する
1万円札・千円札・100円玉・10円玉・1円玉だけを使ってお金を支払う場合、それぞれが何枚必要かを表示するプログラムを作れ。
ただし、出来るだけ高額なお札・硬貨から順に使っていくものとする。
支払う金額はコマンドライン引数で与える。
>>523
マルチなのか何なのかわかんないけど
そんなもんかんたんだろ

上のけた数引いて全部その桁で割ればいい
525教えてください3:03/07/26 00:27
ソースが見たいのですが

x:入力値

int a=x/10000;//1万円
int b=(x-a*10000)/1000;//千円
527516:03/07/26 02:30
だれかタイピングソフトのプログラム教えてください
ランダムに表示された文字をうって、それがあってるか判定できれば
どんなにしょぼいものでもいいので。
アプリケーションでなんとか・・・お願いします
>>527
DOS窓上でいいの?それならなんとか・・
>>527
#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
#include <string.h>
char* CreateSample() {
    char* sample = malloc( 100 * sizeof(char) );
    static char* s[] = { "I", "You" };
    static char* v[] = { "love", "hate" };
    static char* o[] = { "hiroko", "megumi", "michiko", "akiko", "satoko" };
    sprintf( sample, "%s %s %s.", s[rand()%2], v[rand()%2], o[rand()%5] );
    return sample;
}
int main( int argc, char* argv[] ) {
    srand( time(0) );
    char* sample;
    char buf[100];
    do {
        sample = CreateSample();
        printf( ">>> %sn### ", sample );
        gets(buf);
        printf( "%sn", strcmp( buf, sample ) == 0 ? "ok." : "miss!" );
        free( sample );
    } while( !feof( stdin ) );
    return 0;
}
530デフォルトの名無しさん:03/07/26 03:44
//528じゃないけど・・・
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class TypingSoft {

public static void main(String[] args) {
try {
int level = Integer.parseInt(args[0]);
if(level<1)throw new Exception();
new TypingSoft(level);
}
catch (Exception e) {
System.out.println("レベルを1以上の数値で入力してください");
}}
public String create(int digit) {
StringBuffer pass = new StringBuffer(digit);
for (int i = 0; i < digit; i++) {
int choice = (int) (Math.random() * 3);
switch (choice) {
case 0 :
pass.append((char) ((int) (Math.random() * 10) + 48));
break;
case 1 :
pass.append((char) ((int) (Math.random() * 26) + 65));
break;
case 2 :
pass.append((char) ((int) (Math.random() * 26) + 97));
break;
}}return pass.toString();}public TypingSoft(int level){String in=null;System.out.println("Ctrl+Cで終了");try{while(true){String a=create(level);System.out.println(a);
in=new BufferedReader(new InputStreamReader(System.in)).readLine();if(!a.equals(in))System.out.println("×");}}catch(Exception e){}}}
531529:03/07/26 03:45
Javaスレだた.....
532516:03/07/26 04:21
みなさんありがとう、参考にさせてもらいます
533エラーですぎ!!:03/07/27 02:20
>>520>>521>>523
解答のソースを教えてもらえませんか?
>>533
まずは「エラーですぎ!!」というそのソースコードを
だしてみて。話はそれからだ。
535初心者:03/07/27 20:57
課題なのですが、どなたか教えてください。

●以下の条件を持つプログラムを構築しなさい

○「カード」オブジェクトを定義するCardクラス、(ジョーカーを除く)52枚のカードからなる「デッキ」を定義するDeckクラスを定義しなさい

○アプリケーションあるいはアプレットを利用して、5枚のカードをデッキから取り出すプログラム、(例えばそのプログラムの名前はCardTestクラス)、を作成しなさい

○カードおよびデッキの初期化には静的変数により実施しなさい

○カードクラスの「インスタンスメソッド」として番号とマークを問い合わせるメソッドを用意しなさい

★余力があれば、次の要件を付け加えなさい

○5枚のカードを取り出す際、ランダムになるよう、あらかじめカードをシャッフルする機能をDeckのクラスメソッドとして実現しなさい

○カードのソーティングを実施し、ポーカーの役がわかるようにしなさい

○好きなカードを「ホールド」し、それ以外を引きなおして、再度、役をチェックするようにしなさい。その際、アプレットとAWTなどに用意されている機能を利用しなさい


というものです。
よろしくお願いします
>>カードおよびデッキの初期化には静的変数により実施しなさい
これはどう有意味なのでしょうか??
引数を静的変数を引数に持たせるという意味?
537535:03/07/27 23:21
すみません、自分もよくわからないのですが、
静的変数のところに

すべてのオブジェクトから共有される変数(クラスそのものに結びついているもの)
→static型で宣言

とメモってありました。
>>535
はげしくやる気のなくなる宿題だなあ。

>○カードおよびデッキの初期化には静的変数により実施しなさい
訳の分からない縛り。

>○アプリケーションあるいはアプレットを利用して、5枚のカードをデッキから取り出すプログラム、(例えばそのプログラムの名前はCardTestクラス)、を作成しなさい
アルゴリズムとGUIをごっちゃに出題するのはどうかと思う。

>○カードのソーティングを実施し、ポーカーの役がわかるようにしなさい
こんなの初心者が「余力」でできるわけないだろう。

>○5枚のカードを取り出す際、ランダムになるよう、あらかじめカードをシャッフルする機能をDeckのクラスメソッドとして実現しなさい
Collections.shuffle()呼んで煙に巻いてやれ。出題者知らないと見た。
539初心者:03/07/28 01:07
1.以下のような図を作ってください。画面(width x height) = 600 x 600です。

http://a.jmpd.com/upload/show.php?pid=85-A&db=nakama&type=1


2.以下のプログラムは円をdrawLineのみで描くプログラムである。
DsiplayCircle.java
import java.applet.Applet ;
import java.awt.* ;

public class DisplayCircle extends Applet {
float PI=(float)Math.PI ;
int winWidth=300, winHeight=300 ;
float circRadius=100.0f ;
public void init() {
setBackground(Color.lightGray) ;
setForeground(Color.red) ;
resize(winWidth,winHeight) ;
540初心者:03/07/28 01:08
}
public void paint(Graphics g) {
float r=circRadius,delta,theta,x0,y0,x1,y1 ;
float xc,yc ;
int nPoints =200 ;
xc=winWidth/2 ;
yc=winHeight/2 ;
x0=0.0f ;
y0=0.0f ;
for(int k=0;k<nPoints;k++) {
if(k==0) {
theta=0.0f ;
x0=r*(float)Math.cos(theta)+xc ;
y0=r*(float)Math.sin(theta)+yc ;
}
theta=2.0f*PI*(float)(k+1)/(float)nPoints ;
x1=r*(float)Math.cos(theta)+xc ;
y1=r*(float)Math.sin(theta)+yc ;
g.drawLine((int)x0,(int)y0,(int)x1,(int)y1) ;
x0=x1;
y0=y1;
}
}
}

ここでi,jは整定数、aは実定数(circRaius)。0≦θ≦2π 。つまりrはθとともに変化する。
i,jをいくつか変えたサンプル出力を以下に示す。
http://a.jmpd.com/upload/show.php?pid=87-A&db=nakama&type=1
プログラムは 1≦i≦5、1≦j≦5すべてに完璧に対応できるようにしてください。また最後の文字列は以下のようにコーディングしました。
g.drawString("Leaves i= "+i+" j= "+j,110,275) ;

こんな感じです。お願いできますでしょうか?
>GUIかんけーはめんどクセーから、放置するぞ!
>GUIかんけーはめんどクセーから、放置するぞ!
>GUIかんけーはめんどクセーから、放置するぞ!
>>535
簡単に作ってみました(役判定、Gui抜きですが・・・)
ここに書くには少しコードの量が多いのですがどうしましょうか?
あと私も初心者なので期待しないでください。
543535:03/07/28 01:52
>>542
ホントですか?
じゃあメールで送っていただけるとうれしいです。
544デフォルトの名無しさん:03/07/28 02:31
>>535
メアドがジャンピングニーw
545デフォルトの名無しさん:03/07/28 02:32
>>544
俺は『ジャンピング クンニ』だと思った
どうりで、すごいプレーだなと思いましたよ
546535:03/07/28 16:00
>>545
よく判りましたねw
547デフォルトの名無しさん:03/07/28 20:48
宿題じゃあないけど
オブジェクト指向でオセロゲーム

ってもう既出?
public class Card {
private String mark=null;
private int num=0;

public Card(String mark,int num){
this.mark=mark;
this.num=num;
}

public String getMark(){
return mark;
}

public int getNum(){
return num;
}
}
public class Deck {
final static int Num=52;
private static Card[] allCard=new Card[Num];
private String[] mark={"クラブ","ダイヤ","ハート","スペード"};
private Card[] myCard=null;
public Deck(){
for(int i=0;i<mark.length;i++){
for(int j=1;j<14;j++){
allCard[(j-1)+(13*i)]=new Card(mark[i],j);
}
}
}

public Card getCard(int num){
return allCard[num];
}

public static void shuffle(){
Card deckBackup=null;
for (int i=0; i<200; i++){
int myA = (int)Math.floor( Math.random() * 52 );
int myB = (int)Math.floor( Math.random() * 52 );
deckBackup = allCard[myA];
allCard[myA] = allCard[myB];
allCard[myB] = deckBackup;
}
}
public Card[] changeCard(int[] holdNum,int playCount){
Card[] chCard=new Card[5];
for(int i=0;i<chCard.length;i++){
chCard[i]=allCard[(playCount)*5+i];
}

for(int i=0;i<holdNum.length;i++){
chCard[holdNum[i]-1]=myCard[holdNum[i]-1];
}
sortCard(chCard);
myCard=chCard;
return myCard;
}

public Card[] takesCard(){
myCard=new Card[5];
Card deckBackup=null;

for(int i=0;i<myCard.length;i++){
myCard[i]=allCard[i];
}
sortCard(myCard);
return myCard;
}
public void sortCard(Card[] myCard){
Card deckBackup=null;
for (int i=0; i<4; i++){
for (int j=i+1; j<5; j++){
if (myCard[i].getNum() > myCard[j].getNum()){
deckBackup = myCard[i];
myCard[i] = myCard[j];
myCard[j] = deckBackup;
}
}
}
}
}
import java.io.*;
import java.util.*;

public class CardTest {
public static void main(String[] args){
int playCount=1;
Deck deck=new Deck();
Deck.shuffle();
Card[] myCard=deck.takesCard();
for(int i=0;i<myCard.length;i++){
System.out.println((i+1)+":"+myCard[i].getMark()+myCard[i].getNum());
}
while(true){

String in=null;
System.out.print("ホールドしたい番号をすべて半角で空白をあけて入力してください(例・・・1 2 4)>");
try{
in=new BufferedReader(new InputStreamReader(System.in)).readLine();
StringTokenizer st=new StringTokenizer(in," ");
int[] holdNum=new int[st.countTokens()];
int count=0;
while(st.hasMoreTokens()){
holdNum[count]=Integer.parseInt(st.nextToken());
count++;
}
myCard=deck.changeCard(holdNum,playCount);
System.out.println("交換回数:"+(playCount)+"回目");
for(int i=0;i<myCard.length;i++){
System.out.println((i+1)+":"+myCard[i].getMark()+myCard[i].getNum());
}
while(true){
System.out.print("まだ続けますか?(y or n)>");
in=new BufferedReader(new InputStreamReader(System.in)).readLine();
if(in.equals("y")){
break;
}
else if(in.equals("n")){
System.out.println("終了します");
System.exit(0);
}
else{
System.out.println("yかnで入力してください");
}
}
}
catch(NumberFormatException e){
System.out.println("半角整数で半角スペースで入力してください");
playCount--;
}
catch(ArrayIndexOutOfBoundsException e){
System.out.println("1〜5までの整数で入力してください");
playCount--;
}
catch(Exception e){
System.out.println("err");
}
playCount++;
}
}
}

>>535
機能はメール送らなくてスマソ
とりあえず役判定抜きで簡単に作ってみました。
実務経験なしの学生なんでソースの汚さは多めに見てください( ´∀`)
>>535
http://jcp.org/aboutJava/communityprocess/jsr/tiger/enum.html
の Card クラス使ってみるとか。
>>548
suitじゃなくてmarkなあたりに君の英語力の無さが分かった
557デフォルトの名無しさん:03/07/29 13:47
今日中に出さなければ単位がとれない宿題があるのでおながいしてもよろしいでしょうか?
558557:03/07/29 13:52
自分でもやってみまふが
取り合えず丸投げするのでどなたか分かったらおながいします。
厨房でスマソ

class Foo {
public static void main(String[] args) {
System.out.println("5: "+limit(5));
System.out.println("15: "+limit(15));
}
// @
}
// A
int 型の変数i を引数に持ち、もしi が10 より大きければi を10 にし、i をint 型で返す以下
のメソッドlimit は、上の@とAのどちらに書けばよい?
static int limit(int i) {
if (i > 10) {
i = 10;
}
return i;
}
559557:03/07/29 13:53
2 ● 演習1-2 int 型の2つの変数a,b を引数に持ち、2 つの和を"2 つの和は"に連結してString
型として返す以下のメソッドtasu を下線部を埋めて追加せよ。またmain メソッドにこのメソッ
ドを呼び出す文を追加し実行せよ。
static tasu( ) {
String s = "2 つの和は"+ (a+b);
s;
}
● 演習1-3 int 型の変数n を引数に持ち、n 個の*と改行を表示する返り値なしの以下のメ
ソッドstar について下線部を埋めて追加せよ。またmain メソッドにこのメソッドを呼び出す文
(引数等は、自分で好きに決めてよい)を追加し実行せよ。
static star(int n) {
for (int i = n; ; i--) {
System.out.print("*");
}
System.out.println();
}
560557:03/07/29 13:54
● 演習1-4 int 型の変数n を引数に持ち、n 個の*をString 型として返す以下のメソッドstar2
を下線部を埋めて追加せよ。またmain メソッドにこのメソッドを呼び出す文(引数等は、自分
で好きに決めてよい)を追加し実行せよ。
static star2(int n) {
String s = "";
for (int i = n; i > 0 ; i--) {
;
}
s;
}
● 演習1-5 int 型の変数i を引数に持ち、i が10 より大きければi を10 にし、i が0 より小
さければi を0 にしi をint 型として返すメソッドrange を追加せよ。またmain メソッドにこ
のメソッドを呼び出す文(引数等は、自分で好きに決めてよい)を追加し実行せよ。
3
● 演習1-6 int 型の変数n とString 形の変数str を引数に持ち、n 個のstr をString 型とし
て返すメソッドrepeat を追加せよ。またmain メソッドにこのメソッドを呼び出す文(引数等は、
自分で好きに決めてよい)を追加し実行せよ。
● 演習1-7 int 型の変数n を引数に持ち、1 行目からn 行目まで、i 行目ではi 個の*を表示す
る返り値のないメソッドtriangle を追加せよ。ただし、上のメソッドrepeat を使うこと。また
main メソッドにこのメソッドを呼び出す使う文(引数等は、自分で好きに決めてよい)を追加
し実行せよ。(2 点)
例n=3 の場合
*
**
***
561デフォルトの名無しさん:03/07/29 14:05
以上ですどなたかおながいします・・・
演習1-1
@

演習1-2
public static String tasu(int a, int b) {
String s = "2 つの和は"+ (a+b);
retrurn s;
}

main メソッドへの追加
System.out.println(tasu(5, 15));

演習1-3
public static void star(int n) {
for (int i = n; i >= 0; i--) {
System.out.print("*");
}
System.out.println();
}

mainメソッドへの追加
star(15);

演習1-4
public static void star2(int n) {
String s = "";
for (int i = n; i > 0; i--) {
s += "*";
}
return s;
}

mainへの追加
System.out.println(star2(15));

演習1-5
public static int range(int i) {
if (i > 10) {
i = 10;
} else if (i < 0) {
i = 0;
}
return i;
}

mainへの追加
System.out.println(range(15));
System.out.println(range(5));
System.out.println(range(-5));

演習1-6
public static void repeat(int n, String str) {
String s = "";
for (int i = n; i > 0; i--) {
s += str;
}
return s;
}

mainへの追加
System.out.println(repeat(15,"+");

演習1-7
public static void triangle(int n) {
for (int i = 1; i <= n; ++i) {
System.out.println(repeat(i, "*");
}
}

mainへの追加
triangle(3);
565デフォルトの名無しさん:03/07/29 16:05
ありがとうございますだ〜
>>565
増田じゃない
益岡です
>>520>>521>>523
ソース教えてください
public class Ex520 {
public static void main(String args[]){
if(args.length==2){
try{
int N=Integer.parseInt(args[0]);
int P=Integer.parseInt(args[1]);
System.out.println("N:"+args[0]+" P:"+args[1]);
if(N<P){
System.out.println("N<Pなので終了");
}
else{
for(int i=P;i<=N;i+=P){
System.out.print(i+" ");
}

}
}
catch(NumberFormatException e){
System.out.println("引数には数字を入力");
}
}
else{
System.out.println("2つの引数に数字を入力");
}
}

}
public class Ex521 {
public static void main(String args[]){
if(args.length==1){
try{
double count=1.0;
double number=Double.parseDouble(args[0]);
System.out.println("number:"+args[0]);
while(Math.pow(10.0,count)<=number){
count++;
}
System.out.println("桁数は"+(int)count);

}
catch(NumberFormatException e){
System.out.println("引数には数字を入力");
}
}
else{
System.out.println("1つの引数に数字を入力");
}
}
}
>>540 GUIだが首を突っ込んで、問1。
import java.awt.*; import java.awt.event.*;
public class RecursiveRect extends Frame {
public RecursiveRect() {
super("Recursive Rect");
setSize(600, 600);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) {
System.exit(0);
}
});
}
public void paint(Graphics g) {
g.setColor(Color.red);
drawRect(g, new Point(50, 50), new Point(550, 50), new Point(550, 550), new Point(50, 550), 10);
}
void drawRect(Graphics g, Point p0, Point p1, Point p2, Point p3, int n) {
if ((n --) > 0) {
g.drawLine(p0.x, p0.y, p1.x, p1.y);
g.drawLine(p1.x, p1.y, p2.x, p2.y);
g.drawLine(p2.x, p2.y, p3.x, p3.y);
g.drawLine(p3.x, p3.y, p0.x, p0.y);
drawRect(g,
new Point((p0.x + p1.x) >> 1, (p0.y + p1.y) >> 1),
new Point((p1.x + p2.x) >> 1, (p1.y + p2.y) >> 1),
new Point((p2.x + p3.x) >> 1, (p2.y + p3.y) >> 1),
new Point((p3.x + p0.x) >> 1, (p3.y + p0.y) >> 1), n);
}
}
public static void main(String[] args) { new RecursiveRect().setVisible(true); }
}
571最後:03/07/30 21:58
>>567
public class Ex523 {
public static void main(String args[]){
if(args.length==1){
try{
System.out.println("amount;"+args[0]);
int totalamount=Integer.parseInt(args[0]);
int[] noso=new int[5];
int[] money={10000,1000,100,10,1};
for(int i=0;i<noso.length;i++){
while((totalamount - (money[i]))>=0){
noso[i]++;
totalamount=totalamount-money[i];
}
}
for(int i=0;i<money.length;i++){
System.out.println(money[i]+"円:"+noso[i]);
}

}
catch(NumberFormatException e){
System.out.println("引数には数字を入力");
}
}
else{
System.out.println("1つの引数に数字を入力");
}
}
}
572570:03/07/30 22:02
>>568-571
すまん挟んじまった。陳謝m(_ _)m
>>572
3つ目の問題に20分もかけた自分が悪いです( ̄ー ̄)
なかなかいいアルゴリズムが思いつかなくて・・・

どなたか綺麗なソースコードをキボン
574572:03/07/30 23:15
>>571=573
十分キレイだと思われ。エラー処理が多いだけ。
ちなみに漏れのは、
public class Q523 {
public static void main(String[] args) throws Exception {
if (args.length != 1) { System.err.println("Usage: java Q523 amount"); System.exit(1); }

int amount = Integer.parseInt(args[0]);
int[] types = {10000, 1000, 100, 10, 1};
for (int i = 0; i < types.length; i ++) {
int numMoney = amount / types[i];
System.out.println(types[i] + "yen * " + numMoney);
amount -= types[i] * numMoney;
}
}
}
575573:03/07/31 00:47
>>574
おー、ありがとうございます。
すごい簡潔にまとまってますね。アルゴリズムもさっぱりしてるし。
てか、int型は小数点以下切捨てでしたね・・・
勉強になりました。出直してきます。それにしても
人の書いたコードっていろんな意味で参考になりますね
ありがとうございました^^
これで十分じゃない?

System.out.println("10000円 " + (amount / 10000));
System.out.println("1000円 " + (amount / 1000) % 10);
System.out.println("100円 " + (amount / 100) % 10);
System.out.println("10円 " + (amount / 10) % 10);
System.out.println("1円 " + amount % 10);

応用できないが、要件は満たしている。
578課題:03/07/31 01:56
○整数NとPを入力し、1からNまでの間にあるPの倍数をリストする。 
考え方:NがPより小さければ終了(リスト不可能)。そうでなければ、int型の変数iをPから始めてPずつ増やしながら(i=i+P)画面に表示する。iがNを越えたら終了。
println( ) を使うと画面上で改行が入るので、数字を続けてリストするために print( ) を使うこと。
while文、for文のどちらを使ってもよい。
>>568>>569>>574
キー入力どうしたらいいんですか?
580574:03/07/31 02:18
>579
>支払う金額はコマンドライン引数で与える。>>523
問題嫁〜(・A・)
>>523
コマンドライン引数って何?
>>581
argvで取得できる奴だと思われ
>581
おまえ、どこの学校でいったい何をならっているんだ?
授業なんか一回もでていないだろう。
もし、専門学校なら見込みないから学校やめれば?
大学なら単位あきらめろ。
死んでもプログラマにはなるなよ。
>>578
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Homework1 {

public static void main(String[] args) throws Exception {
String n_string = null;
String p_string = null;
int n;
int p;
System.out.println("Nの値を入力してください");
n_string = new BufferedReader(new InputStreamReader(System.in)).readLine();
n = validate(n_string);
System.out.println("Pの値を入力してください");
p_string = new BufferedReader(new InputStreamReader(System.in)).readLine();
p = validate(p_string);
if(n>=p){
for(int i=1;p*i<=n;i++){
System.out.print(p*i+"/");
}} }
private static int validate(String s) {
try {
return Integer.parseInt(s);
}
catch (Exception e) {
return 0;
}}}
if(n>=p)→if(n>=p&&p!=0)
>>581
バカ丸出しの>>583の言うことなんか気にするな。
コマンドライン引数なんてプログラミングの本質では無い。


でも、コマンドライン引数を知らなくてもいいのは小学生までだよね〜。
587山崎 渉:03/08/02 02:09
(^^)
588デフォルトの名無しさん:03/08/02 15:01
だれかRMIでclassloader使って、リモートでクラス作ってそれを動かすプログ
ラム作ってみろ!!(笑、やれるなら)
>>588
はぁ、余裕なんですけど。
>>589
余裕ならやってみろよ。どうせ、余裕とか言って、588の策にのせられる
とか適当な事言ってやらないんだろ?俺は、やれないのにそんな事言
べきじゃないと思うね
588の問題を正確に記述しろ。
それならやってやる。
特に「リモートでクラス作る」をきちんと定義しろ。
593名梨産:03/08/03 00:04
>リモートでクラス作ってそれを動かす
分散処理使っていいんだったら屁みたいに簡単にできるんだけど。。。
594588:03/08/03 00:24
>>590
本当に乗ってくるヤシがいるとは・・・・、作って欲しいのは、
1、サーバ側でクラスファイルをバイナリデータにして、メソッドを通して
  リモートに渡す
2、リモートでもらったバイナリデータをリフレクションとかクラスローダー
  を使いつつ、利用可能な状態にする。
3、サーバ側がリモートで使えるようになったクラスをオブジェクトとして
  普通に使えるようにする。
  例えば〜、そうだな、渡すクラスの内容は適当でいいや、足し算とか、
  平方根を求めるとかでも、
  さァ、できるかなa〜?
サーバとクライアントが逆じゃないのか?

ローカル側がクライアントでリモート側がサーバとして
ローカルからリモートサーバにコードを送り込んで
リモートサーバ上でインスタンスを作成して、
ローカルからリモートのオブジェクトを呼び出すのが普通だと思うが。
596588:03/08/03 00:58
>>595
まぁ確かにそうなんだけど、俺はサーバクライアント型のネットワークを
想定しているから呼び方が逆になっちゃうんだよね。その通り!!
そう考えてもらっていいよ。

ちょっと、問題の質問です
1.SessionBeanつかうのは「RMIつかって」って言うのに反していますか?

2.クライアントには、取得するオブジェクトの情報はまるでないのですか?
598588:03/08/03 09:32
>>597
俺はSessionbeanってのはよく知らないんだが、あんまし難しくされる
と分かんなくなっちゃうから、ピュアRMIでお願いしたい。
あと、クライアントには雛形ぐらいの情報は持たせておいてもいいが、
できればなんでも渡せるのが理想。
>>598
なんでも渡せるってことは
Object型でいいですね?
600588:03/08/03 11:00
>>599
YES、Sir!!
まじやってくれんの?ありがとう。頼み方悪くてごめんね。
サーバ側その1

package net2ch;
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface ClassRepository extends Remote {
public void putClassData(String name, byte[] b) throws RemoteException;
public Object instantiate(String classname) throws RemoteException;
}
サーバ側その2
package net2ch;
import java.util.HashMap;
import java.util.Map;
public class RemoteClassLoader extends ClassLoader {
private Map map = new HashMap();
protected Class findClass(String name) throws ClassNotFoundException {
byte[] b = loadClassData(name);
if (b == null) {
throw new ClassNotFoundException("class not found");
}
return defineClass(name, b, 0, b.length);
}
private byte[] loadClassData(String name) {
return (byte[]) map.get(name);
}
public void putClassData(String name, byte[] b) {
map.put(name, b);
}
}
サーバ側その3
package net2ch;
import java.rmi.Naming;
import java.rmi.RMISecurityManager;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
public class RmiServer extends UnicastRemoteObject implements ClassRepository {
private RemoteClassLoader loader = new RemoteClassLoader();
public RmiServer() throws RemoteException {
super();
}
public void putClassData(String name, byte[] b) throws RemoteException {
loader.putClassData(name, b);
}
public Object instantiate(String className) throws RemoteException {
try {
Class clazz = loader.loadClass(className);
return clazz.newInstance();
} catch (Exception e) {
e.printStackTrace();
throw new RemoteException(e.getMessage());
}
}
続く
サーバ側その3続き
public static void main(String[] args) {
if (System.getSecurityManager() == null) {
System.setSecurityManager(new RMISecurityManager());
}
try {
ClassRepository obj = new RmiServer();
Naming.rebind("///RmiServer", obj);
System.out.println("RmiServer bound in registry");
} catch (Exception e) {
System.out.println("RmiServer err: " + e.getMessage());
e.printStackTrace();
}
}
}
クライアント側もほしい?
606588:03/08/03 11:12
>>605
おねがい(^^)

クライアントその1
package net2ch.client;
import java.io.*;
import java.rmi.*;
import net2ch.ClassRepository;
public class RmiClient {
public static void main(String[] args) {
System.setSecurityManager(new RMISecurityManager());
try {
File f = new File("bin/net2ch/client/Adder.class");
byte[] b = new byte[((int)f.length())];
InputStream is = new FileInputStream(f);
is.read(b);
ClassRepository repository = (ClassRepository) Naming.lookup("///RmiServer");
repository.putClassData("net2ch/client/Adder", b);
Object object = repository.instantiate("net2ch/client/Adder");
int x = ((Adder)object).add(3,5);
System.out.println("x = " + x);
} catch (Exception e) {
e.printStackTrace();
}
}
}
クライアントその2
package net2ch.client;
import java.io.Serializable;
public class Adder implements Serializable {
public int add(int a, int b) {
return a + b;
}
}
rmic とか rmiregistry の使い方ぐらいは知ってるんだろうな。
そこまで説明しないぞ。

あと今回のはリモートメソッドの呼び出しはやっていないから、
本当の意味では宿題の答えになってない。
リモートメソッド呼び出しまでやってほしいなら、
俺をその気にさせろ。
610588:03/08/03 11:29
>>609
rmicとかrmiregistryとかは大丈夫・・・だと思う。

どうやったらその気になってくれんの?
611588:03/08/03 15:42
                   / ヽ        / ヽ
               /   ヽ___/   ヽ
            /   井\  l___l /\
             |  井   ●  |    |  ●  |   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       へ    |   へ       ヽ   /     | < >>608の続きまだ〜?
        \\  \  \\    ヽ/     /   \_____________
チン        \\  .> \\          ヽ
   チン      \\/    \\  _       |
      \ ̄ ̄ ̄ ̄ ̄ ̄ ̄/  / ̄   ヽ    /   _
        \回回回回回/ ̄ ̄ヽ        / ̄ ̄ /|
         \___/      ヽ____/  /  |
                               /   |
                              /     |

601-608 は手元で動いたか?
なぜまずいかわかったか?
まあいいや、リモートメソッドの呼び出しもやってやる。
3つのファイルを入れ替えるぞ。
サーバ側はClassRepository.javaとRmiServer.javaだ。
クライアント側はRmiClient.javaだ。
ClassRepository.javaの差し替え
package net2ch;
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface ClassRepository extends Remote {
public void putClassData(String name, byte[] b) throws RemoteException;
public int instantiate(String classname) throws RemoteException;
public void destroy(int oid) throws RemoteException;
public Object invoke(int oid, String methodName, Class[] parameterTypes, Object[] args) throws RemoteException;
}
RmiServer.javaの差し替えその1
package net2ch;
import java.lang.reflect.Method;
import java.rmi.*;
import java.rmi.server.UnicastRemoteObject;
import java.util.*;
public class RmiServer extends UnicastRemoteObject implements ClassRepository {
private RemoteClassLoader loader = new RemoteClassLoader();
int nextOid = 1;
private Map repository = new HashMap();
public RmiServer() throws RemoteException {
super();
}
public void putClassData(String name, byte[] b) throws RemoteException {
loader.putClassData(name, b);
}
public int instantiate(String className) throws RemoteException {
try {
Class clazz = loader.loadClass(className);
Object o = clazz.newInstance();
repository.put(new Integer(nextOid), o);
return nextOid++;
} catch (Exception e) {
e.printStackTrace();
throw new RemoteException(e.getMessage());
}
}
続く
RmiServer.javaの差し替えその2
public void destroy(int oid) throws RemoteException {
repository.remove(new Integer(oid));
}
public Object invoke(int oid, String methodName, Class[] parameterTypes, Object[] args) throws RemoteException {
try {
Object o = repository.get(new Integer(oid));
Method m = o.getClass().getMethod(methodName, parameterTypes);
return m.invoke(o, args);
} catch (Exception e) {
e.printStackTrace();
throw new RemoteException(e.getMessage());
}
}
続く
RmiServer.javaの差し替えその3
public static void main(String[] args) {
if (System.getSecurityManager() == null) {
System.setSecurityManager(new RMISecurityManager());
}
try {
ClassRepository obj = new RmiServer();
Naming.rebind("///RmiServer", obj);
System.out.println("RmiServer bound in registry");
} catch (Exception e) {
System.out.println("RmiServer err: " + e.getMessage());
e.printStackTrace();
}
}
}
RmiClient.javaの差し替え
package net2ch.client;
import java.io.*;
import java.rmi.*;
import net2ch.ClassRepository;
public class RmiClient {
public static void main(String[] args) {
System.setSecurityManager(new RMISecurityManager());
try {
File f = new File("bin/net2ch/client/Adder.class");
byte[] b = new byte[((int) f.length())];
InputStream is = new FileInputStream(f);
is.read(b);
ClassRepository repository = (ClassRepository) Naming.lookup("///RmiServer");
repository.putClassData("net2ch/client/Adder", b);
int o = repository.instantiate("net2ch/client/Adder");
Object x = repository.invoke(o, "add",
new Class[] { int.class, int.class },
new Object[] { new Integer(3), new Integer(5)});
System.out.println("x = " + x);
repository.destroy(o);
} catch (Exception e) {
e.printStackTrace();
}
}
}
619588:03/08/03 17:44
>>618
マジであなた様は神です。ゴッドです。感謝感激雨あられ!!
サンキョー!!
620時代は個人主義:03/08/04 14:36

http://osaka.yomiuri.co.jp/new_feature/kokoro/jyuku06.htm

社会福祉法人「いのちの電話」の斎藤友紀雄事務局長は、「『いじめ』は
世界中で起きていますが、日本の場合、その一番大きな原因は、異質なも
のを認めないという精神文化に根ざしていると思います。偏差値教育や核
家族化によって孤独を強いられた子どもたちは、必死に自分の居場所を求
めるのですが、性格や能力が集団と調和しない子は、集団から排除されて
しまう。つまり、村意識が働いて、村八分にされてしまうのです」と語る。

<差別いじめをなくそう>
日本国憲法(国のあり方を定めた法)は、個人主義を定めています。
それは、戦前、全体主義だったわが国が、悲惨な戦争に突入し敗戦したと
いう苦い経験の反省に基づきます。

別にみなが一緒じゃなくてもいいでしょ?
みなが一緒じゃないと安心できない集団がいて、その集団が
異質分子を排斥しようとする。


621時代は個人主義:03/08/04 14:36

A型は仲間を作ろうとする時、自分と価値観やリズムが同じ人ばかりを引
き寄せて、波長の合わない人々を避けてしまう傾向があります。そこには、A型
の、周囲に波風を起こしたくない、できるだけ安定した環境を作っておきたい、と
いう思いが働くからです。そんな風にしているうちに、気がついてみたらA型ば
かりの集団になっていた、ということはよくあります。
価値観がある程度同じ方向に向かっていることは大切なことですが、あまり同じ
ような考えの人ばかりが集まることは危険です。和気合いあいのムードにすっ
かり慣れて、「井の中の蛙」になってしまう恐れがあるからです。
A型は、周囲と協調して現状を安定させたい面と、常に向上心を持って現状を
脱皮したい面の両方を、バランスよく保っていくことで、上手に成長していくので
す。
自分と違う考えの人は、衝突も激しく起こるけれど、自分に良い刺激を与え、視
野を広げることにもなるということを考えてみて下さい。
また、人間関係にもけじめをつけようとするA型は、お客と店員など、立場で態
度を大きく変えたりすることがありますが、行き過ぎれば、やはり好ましくない行
動表現に見えます。
622デフォルトの名無しさん:03/08/04 23:32
チェイン法を用いて,1000 個の値を格納するハッシュ表を構成したい.それぞれの値は,適当
な自然数とし,乱数で生成するものとする.
ハッシュ関数を何種類か用いて,それらを比較せよ.
この問題を誰かといてください。
>>622
教官から、ハッシュ関数の例を与えられなかったのか?
624デフォルトの名無しさん:03/08/05 00:12
>>623
はい、与えられなかったんです。
>>624
じゃ、そこだけは自分で考えろ。
626デフォルトの名無しさん:03/08/05 00:14
うっせー教えろ
627デフォルトの名無しさん:03/08/05 00:15
>>625
はい、わかりました。がんばってみます。
STEP1:見通しつけ

public class HashTable{

 //テスト用関数
 public static void main(String args[]){
   HashFunction[] functions = new HashFunction[]{new FooHashFunction(),new BarHashFunction()...};
   //FooHashFunction implements HashFunctionなどは君が作ってくだせえ
   int seed =/*擬似乱数が毎回同じ値を出すように、適当な数字を与えてくだせえ*/;

   for(int i = 0 ; i < functions.length;i++){
    java.util.Random rand = new java.util.Random(seed);
    HashTable table = new HashTable(function[i]);
    //ここでrand.nextInt()を1000回put

    //1000回putしたテーブルの内部状態をレポートとして出力
    System.out.println(table.toString());
   }  
 }
 private java.util.List[] chains = new java.util.ArrayList[/*適当なチェイン数*/];
 private HashFunction function;
 public HashTable(HashFunction function){this.function = function;}
 public void put(int index,int value){/*値挿入*/}
 public String toString(){/*状態ダンプ*/}
}

public interface HashFunction{public int hashCode(int value);}

ココから先は、自分でやってくれないかなあ…と淡い期待。ねむいし。
public void put(int value){/*「値挿入」の実装*/
 int hashcode = function.hashCode(value);
 int index = hashcode/chains.length;
 if(chains[index] == null)
  chains[index]= new java.util.ArrayList();
 chains[index].add(value);
}
630デフォルトの名無しさん:03/08/05 00:45
>>628
本当にありがとうございました。自分ではぜんぜんわからなかったので、本当に助かりました。
またわからないことがあったらここに来るかもしれないのでまたその時はよろしくお願いします。
public String toString(){/*「状態ダンプ」の実装例*/
//どんなレポートがほしいかによるので、それにしたがって自作してください
 StringBuffer buf = new StringBuffer();
 buf.append(function.getClass().getName()+"による結果\n");
 for(int i = 0 ; i < chains.length;i++)
  buf.append("chains["+i+"]="+chains[i]+"\n");
 return buf.toString();
}

眠いので超テヌキ。
STEP2:実装
宿題ならこれで充分かモナ。

STEP3:HashFunctionの各種実装作成
…がんばれ。

これでコンパイルとおるかどうかは確認してないので、勘弁ね。
今適当に書いただけだから。
633デフォルトの名無しさん:03/08/05 00:59
本当にありがとうございました。
ウソ) int index = hashcode/chains.length;
ホント)int index = hashcode%chains.length;

ウエエエン。俺はなんて馬鹿なんだ・・・鬱山車脳。


みなさんアプレットからアプリケーションへプログラムを書き換えるにはどこを
どう変更したらうまくいくのか教えてもらえませんか?以下のプログラムをアプリ
ケーションにしたいのですが、やり方がさっぱりわかりません。
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class Typing extends Applet {
private Color mColor; // 現在の色
private int number; //今打っている文字は何文字目?
private int Textnum; //出題する問題番号取得用
private int typenum; //総タイプ数
private int missnum; //ミスタイプ数
static Dimension d; //領域のサイズ取得用
private String[] Text = {"class","private","public","void","int"};
public void init() {
Dimension d = getSize();
typenum = 0;
missnum = 0;
getNextText();
// キーイベントを扱うため,キーリスナを登録.
addKeyListener(new MyKeyListener());
}
636635:03/08/06 16:27
public void paint(Graphics g) {
Dimension d = getSize(); // 描画色を設定して,問題を描画.
for(int i=0;i<Text[Textnum].length();i++){
if (i<number){ g.setColor(Color.red);
} else { g.setColor(Color.black); }
g.drawString(""+Text[Textnum].charAt(i),(i*6)+10, d.height/2);
}
g.drawString("Type :"+Integer.toString(typenum),10,10);
g.drawString("Miss :"+Integer.toString(missnum),10,20);
}// 文字を取得
public char getChar() {
return Text[Textnum].charAt(number);
}
public void incNumber() {
number = number + 1;
if (number==Text[Textnum].length()){
number = 0;
getNextText();
}
repaint();
} // 打った文字数を増加




637635:03/08/06 16:27
public void getNextText() {
Textnum = 0;
do Textnum = (int)(Math.random()*10);
while (Textnum>=Text.length);
}
public void inctype() { typenum = typenum + 1; repaint(); }
public void incmiss() { missnum = missnum + 1; repaint(); }
}// Typingアプレット用のリスナクラス
class MyKeyListener implements KeyListener {
// キーが押されたときの処理
public void keyPressed(KeyEvent e) {
// キーイベントを発生したオブジェクトを取り出す.
Typing Tp = (Typing)e.getSource();
// 押されたキーの文字を取り出す.
char ch = e.getKeyChar();

Tp.inctype(); //タイプ文字数を増やす

// 押されたキーと次に打つべき文字が等しいか?
if (ch == Tp.getChar()) {
Tp.incNumber();
} else { Tp.incmiss(); }//間違えていたらミス数を増やす。
} // その他のキーイベントには対応しない.
public void keyReleased(KeyEvent e) { }
public void keyTyped(KeyEvent e) { }
}
638デフォルトの名無しさん:03/08/07 00:20
Javaアプレットについてなのですが、
JavaソースファイルとHTMLファイルを作りました。
JavaソースファイルをMS−DOSプロンプトでコンパイルしました。
そして、アプレットビューアでHTMLファイルを開きました。
MS−DOSプロンプトに
xxx>appletviewer tt33.html・・・(1)
とやって。

WWWブラウザでtt33.htmlファイルを開くには
MS−DOSプロンプトに
どういうコマンド名を使えばいいのでしょうか?
ブラウザのコマンドにファイル名。
640638 :03/08/07 00:53

ブラウザはIE5.5を使用しているのですが、
コマンド名は>>638の(1)のようないいまわしでは
どう記入すればいいんでしょか?
>>640
普通にIEのアドレス欄に
「C:\・・・・\tt33.html」で、いいのじゃ
>>639>>641
ありがとうございました。
おかげでファイルを開くことができました。
643デフォルトの名無しさん:03/08/07 01:22
>>635
public static void main(String args[]){
 java.awt.Frame f = new java.awt.Frame();
 Typing t = new Typing();
 f.add(t);
 t.init();
 f.show();
}
表示するだけなら、こんなmainを追加すればいいんじゃないのかな。
644635:03/08/07 02:18
>>643
レスありがとうございます。
それはそのプログラムを付け足せば、ほかをいじらなくてもアプリケーションとして
成り立つということでしょうか。できれば、プログラム全体をアプリケーション
に書き換えたいのですが、今現在ネットで調べながら、やってますが、お手上げ状態
です。
>>644
そだよ。
このメインだとJVMの停止方法がないので、それは自分で探してくり。
646635:03/08/07 02:25
>>645 即レスありがとうございます
647デフォルトの名無しさん:03/08/08 01:10
<!-- JavaApplet-->
<p align="center">
<applet
code="ImageScroll.class" width=600 height=150>
<param name=backcolor value="255,255,255">
<param name=backimage value="haikei2.gif">
<param name=image value="sakura.jpg">
<param name=either value="1">
<param name=speed value="10">
</applet>

上記のプログラムのImageScroll.classファイルを開きたいのですが、
ダブルクリックをしても、右クリックをして「開く」を選択しても、
「有効なWin32アプリケーションではありません」
というメッセージが返ってくるだけで開くことができません。
どうすればよいのですか。
開くってのが意味わからん。
バイナリエディタでも使えば?
>>647
「逆コンパイラ Java」でグーグル検索しる。
>>647
開くのに成功したら、何が起こることを期待している?。
>>647
今さらながらだが、この質問って 初心者スレの
コイツ?↓

471 名前:デフォルトの名無しさん 投稿日:03/08/07 23:26
1度閉じたJavaのソースプログラムを組んだファイルの開き方を教えて下さい。

1度閉じた.classファイルや.javaファイルの開き方がわかりません
652デフォルトの名無しさん:03/08/15 15:27
問題です お願いします

JSPで2つのテキストボックスに入力された2つの日付
 (例 20030815 のように8桁の数字:String型)
について

1.テキストボックス1に入力された日付と
 2に入力された日付を比べて、
時間的に 1<2 が成立したら true
だめなら false を返すメソッドを作成しなさい。

 まず比較するまえに、nullチェックをしてください。

2.2つの日付の差をとるメソッドを作成しなさい。

JSPからパッケージを呼び出す方法を取りたいので、
Servletでお願いします。
653山崎 渉:03/08/15 15:54
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
654デフォルトの名無しさん:03/08/15 16:32
http://examples.oreilly.com/javarmi/javarmi_examples.zip
上記サンプルのコンパイルはできるのですが、実行すると
Exception in thread "main" java.lang.NoClassDefFoundError: ViewFile
と言われます。classpathとかいろいろいじったのですがうまくいきません。
誰か教えて。JREは1.4.1_04です。
655デフォルトの名無しさん:03/08/15 23:44
654です。
すいません。解決しました。
他のスレで聞いちゃいました。。。
656デフォルトの名無しさん:03/08/16 18:31
Javaで二分木をやりたいんですが、削除の仕方がよくわかりません

削除をする際の情報として、「削除されるのは親からみて左右どちらの子か?」と
「削除対象はいくつの子を持っているか?」を知りたいんですが
「親から見て左右どちらの子が削除されたか」を得る方法がわかりません

Cでやった時は、親のメンバleftもしくはrightへのポインタを持っていたのですが
こういうことはJavaでは無理でしょうか?

leftの指す要素へのポインタではなくて、そのleftそのものを指したいんです。
つまりCで言うところのダブルポインタってやつでしょうか?
657デフォルトの名無しさん:03/08/16 18:39
>>656

はぐ、はぐはぐはぐ
はぐはぐ?はぐはぐはぐ

はぐはぐはぐ・・・はぐw
>>657
CM見てないやつはわかんねーよ
おれは、笑ったけどな

カゴメ、野菜乳酸菌飲料「Hug Hug(はぐはぐ)」発売
カゴメ(社長:喜岡浩二)は、野菜乳酸菌飲料『Hug Hug(はぐはぐ)』を、4月22日(火)より東北、関東・東海・北陸地区にて新発売いたします

659デフォルトの名無しさん:03/08/16 20:45
>>656
文面からするとCの理解も間違ってるような..

JAVAでもできるけどソース無いと間違いを指摘できないよ。
660デフォルトの名無しさん:03/08/17 20:10
引数の値をバイナリでファイルに書き込みには書いたらいいですか?
class node {
public node left;
public node right;
}
>>660
書いたらいいです
663デフォルトの名無しさん:03/08/17 20:43
public node left;
public node right

の意味がわかりません
node parentNode = new node();
parentNode.left = new node();
parentNode.right = new node();
parentNode.left = null;
665デフォルトの名無しさん:03/08/17 21:02
parentNodeのくらすがファイルに書き込む処理をしているの?
痴呆か?
667デフォルトの名無しさん:03/08/18 19:45
すんません、本当に学校の宿題のことなんですが
String [] str1 = new String[]{ "001", "005", "006" };
String [] str2 = new String[]{ "001", "002", "003", "004", "005", "006", "007", "008" };

というような配列が2つありましてこれをstr1とstr2で比較して

OK:str2[0]
NG:str2[1]
NG:str2[2]
   .
  .
NG:str2[7]
というような表示プログラムを作るというのですが
表示の内容(str2のみ)がだぶらないようにということで作っているのですが
うまくいきません・・・
どのように書けば簡潔になりますでしょうか、お願いします
>>667
(1) 結果の途中を省略するな。
(2) 問題をそのまま書け。
>>668
大変失敬いたしました,長くなってしまいますが
(1)
OK:str2[0];
NG:str2[1];
NG:str2[2];
NG:str2[3];
OK:str2[4];
OK:str2[5];
NG:str2[6];
NG:str2[7];
です
(2)の問題ですが
下記(さっきの配列ね)の配列をstr1とstr2を比較して
同じ要素のものにはOKを、残りのものにはNGを付けて表示しなさい
その際にstr2の内容は全て表示しなさい

っていう担当御手製のプリントの一文です
>>669
for (int i = 0; i < str2.length; ++i) {
String result = "NG";
for (int j = 0; j < str1.length; ++j) {
if (str1[j].equals(str2[i]) {
result = "OK";
break;
}
}
System.out.println(result + ":str2[" + i + "]");
}
右括弧がひとつ足りなかったのでもう一度。
for (int i = 0; i < str2.length; ++i) {
String result = "NG";
for (int j = 0; j < str1.length; ++j) {
if (str1[j].equals(str2[i])) {
result = "OK";
break;
}
}
System.out.println(result + ":str2[" + i + "]");
}
>>670
の御仁ありがとうございます!
うまくいきました

自分がへたれなのでfor文で回すときにi++ や j++
などの後付けでしか物考えれないからだめなんですね・・・
参考になりました。
この場合そんなの関係ないという事がわからんあたり、たしかにへたれだなw
まあがんがれ
import java.util.*;
List list = Arrays.asList(str1);
for(int i=0;i<str2.length;i++)
 System.out.println((list.contains(str2[i])?"OK":"NG")+":str2["+i+"]"));

4行ですね。
>674
なるほど。 一歩進んで効率を考えるなら、

import java.util.*;
HashSet set = new HashSet(Arrays.asList(str1));
for(int i=0;i<str2.length;i++)
 System.out.println((set.contains(str2[i])?"OK":"NG")+":str2["+i+"]"));

あるいは、

import java.util.*;
Arrays.sort(str1);
for(int i=0;i<str2.length;i++)
 System.out.println((Arrays.binarySearch(str1,str2[i])>=0?"OK":"NG")+":str2["+i+"]"));

はどうよ。
676デフォルトの名無しさん:03/08/27 03:57
力貸してください

10進数を37進数に変換するプログラムを作成せよ
なお0〜9,a〜z,- で表現するとする
意地悪な問題だね。36進数なら簡単なのに。
String s = Integer.toString(Integer.parseInt(n, 10), 36);
Integer#toString(int,int)は36進数までしか変換できない。
678デフォルトの名無しさん:03/08/27 19:00
アナログ時計のプログラムを組んでこいって言われ早1週間
一応ウィンドウ上に時計らしき物体を出す事には成功したのですが
ウィンドウを最大化したり戻したりしないと針が動かない始末

ttp://members.tripod.co.jp/javawakame/java.txt

まだ時針と秒針しか付けてないんですが助言をお願い致しますm(__)m
679デフォルトの名無しさん:03/08/27 23:15
String s = new String(args[0]);

if(sは数値である) {
   }

ここでsが数値ならばという形にしたいのですが
???の部分には何が入るんでしょう?
680デフォルトの名無しさん:03/08/27 23:29
すいません>>679です。
ようするに数値を何入れてもtrueになるように
if()の中を書きたいのです。
try {
Integer.parserInt(s);

} catch ( ...
>>681
それをどこに書き込めばいいのでつか?
683デフォルトの名無しさん:03/08/28 00:16
>>676
こんなかんじかな。デバッグヨロシク。

int value =...;
StringBuffer buf = new StringBuffer();
char[] ch = new char[]{'0','1','2','3',...,'z','-'};

while(value != 0){
 buf.append(ch[value%ch.length]);
 value = value/ch.length;
}
System.out.println(buf.reverse().toString());
>>676
public class hoge {

public static void main(String[] args) {
System.out.println(to37(37));
}
static String to37(int src) {
String[] ch = new String[]{"0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","j","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","-"};
String num37="";
while (src > 0) {
num37=ch[src % 37]+num37;
src /= 37;
}
return num37;
}
}
685679:03/08/28 07:29
ん〜、誰もいないなぁ・・・。学校の問題なんだけど・・・
686デフォルトの名無しさん:03/08/28 07:54
>>685

たとえば
Pattern.compile("[0-9]").matcher(s).matches()
↑コレを改造すれ
687規制解除しる!:03/08/28 09:10
携帯からなので改行目茶苦茶かも知れませんが…
一つのサイズが48x24の菱形3つをランダムに並べるプログラムを考えなさい。
ていう問題で条件は
最低それぞれ10枚ずつ並べて大きな菱形を作る。
考えるのは並べる部分のみで良い。

とのこと。
自分で考えているのは一つの菱形を4等分にして、24x12と考えて並べようかと思っていますが…

よろしくお願いします。
688デフォルトの名無しさん:03/08/28 09:21
>最低それぞれ10枚ずつ並べて大きな菱形を作る。
コレの意味がわからん

最低10枚ってこの10枚も菱形なの?
最初の3枚はどこ行った?
689687:03/08/28 09:27
説明が悪かったです。3種類の菱形をランダムに
縦横10枚並べて大きな菱形にするということです。
大きさは10倍になりますね。
690デフォルトの名無しさん:03/08/28 09:55
>>686
すんません、分かりません。。。
これです。

InputStreamReader a = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(a);

String s = "";
while(( s = br.readLine()) != null) {
if(sは数値である) {
}

if()の中を教えて下さい…。
691デフォルトの名無しさん:03/08/28 10:00
だから、「sは数値である」の部分に
Pattern.compile("[0-9]").matcher(s).matches()
って入れればいい
ただコレだと0〜9の数字しかダメだから
10以上の数字は多分falseになる
その辺は自分で考えろってことなのよ
I円くれたら完全回答が待っている
692デフォルトの名無しさん:03/08/28 10:01
つーか数値って、少数も含めるのか?
693687:03/08/28 10:01
一応、上記のファイルを…
http://syounan.minidns.net/files/tips.lzh
>>690
public static boolean isNumber(String str){
 for(int i=0; i<str.length(); i++){
  if(!Character.isDigit(str.charAt(i))) return false;
 }
 return true;
}
とかしておいて isNumber(s) で数値かどうか判定するとかすれば?
「数値」の厳密な定義が分からんので、
とりあえず数字だけで構成された文字列を「数値」として定義してみますた。

これでダメな場合は「数値」の厳密な定義を書け。
695デフォルトの名無しさん:03/08/28 10:27
>>691
やっぱ分かりません…。
おながいします ノI
696691:03/08/28 11:49
>>695

>>694さんのやり方が、宿題っぽいのでそっちの方がいいんじゃない?

InputStreamReader a = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(a);

String s = "";
while(( s = br.readLine()) != null) {
if(isNumber(s)) { //←
}

//以下を追加
public static boolean isNumber(String str){
 for(int i=0; i<str.length(); i++){
  if(!Character.isDigit(str.charAt(i))) return false;
 }
 return true;
}
697679:03/08/28 23:37
すんませんおそレスになりますた。

>>692
そうです、小数点も含めます。しかし1.0とかの0は表示しません。

>>694>>696
それで出来ますた・・・がどっこい。
そのSystem.inには数値以外も入るらスィです。。。

if(数値なら){
 ここで表示
}

else if(文字なら) {
ここで表示
}

みたいな感じです。何度もすいませんです。おながいします。
なに釣られてるんだよ。
699679:03/08/29 08:41
つりじゃないっす。
ああ、今日までに提出だよ・・・。誰か助けて
>>697
「数値」の完全な定義と「文字」の完全な定義をよこせ。
でなければ作れん。
>>697
あと、「数値」と「文字」を表示する際の完全なフォーマットをよこせ。
702679:03/08/29 11:31
定義ってDouble型とかでいいんですかね?
小数点は表示するが、1.0などの場合は1と表示しまつ。
文字の定義は'+'の時はtrue,それ以外の時はfalseとなります。
ってか宿題って自分でするものじゃないの?
>>702
定義って言葉じゃマズかったか。
「数値」を完全に定義した仕様と「文字」を完全に定義した仕様と
「数値」と「文字」を表示する際の完全なフォーマットをよこせ。
なければ作れん。

もしくは問題の全文を そのまま載せろ。
>>679 これじゃダメか?
import java.io.*;

class IntegerNum {
  public static void main(String[] args) {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String str = "";
    int num = 0;
    boolean bool = true;

    try {
      str = br.readLine();
      num = Integer.parseInt(str);
      bool = true;
    }
    catch(IOException e) {
      System.out.println("IOエラー\n" + e + "\n もういちど入力してください");
    }
    catch(NumberFormatException e) {
      bool = false;
    }
    if(bool) {
      System.out.println("条件は数字です");
    }
    else {
      System.out.println("条件は文字列です");
    }
  }
}
706679:03/08/30 14:26
>>704
すんません、誰に見られてるか分からないので
問題文は載せられないのです…結構特殊な問題なんで

>>705
おお!完璧っす!!使わせてもらいます
>>705
少数とか "+" とか… ま、>>706 が良いっていってるんだから良いのか。
708デフォルトの名無しさん:03/09/02 21:53
お願いします。1.2+1.8 = 3と表示させます。
それにプラス2.0などは2と表示させます。
ですが5.1などはそのまま5.1と表示させます。
このようなプログラムの組み方を教えて下さい。
709デフォルトの名無しさん:03/09/02 21:54
>>708
おまえなぁ・・・
で、おまえ自身どこまで考えたんだ?
710デフォルトの名無しさん:03/09/02 22:01
押したキーによって違うアクションを起こしたいのですがどうすればよいのでしょうか?
例えばaを押したら赤い色が画面にでる。sを押したら青い色が画面に出る。みたいにしたいのです。
教えてください。
>>710
勉強する気あるのか?
712デフォルトの名無しさん:03/09/02 23:05
わからない事があったので教えてください。
String型でswitch文のような事がしたいのですがわかりません。
お願いします。
>>709
A先生…?(((( ;゚Д゚)))ガクガクブルブル
すいません、自力で解きます。
714デフォルトの名無しさん:03/09/02 23:13
>>714
結構人いそうで同じ穴の狢みたいな奴ばっかだからな、明日聞かれたら謝っとけ
715712:03/09/02 23:32
if文の方法でもいいので教えてください
>>712

if(a.equals("X")){
}
else if(a.equals("Y")){
}



else{
}
717712:03/09/02 23:43
>>716
できました!
本当にありがとうございました
718亜也:03/09/02 23:47
CLOSEボタンを押すとOPENボタンになり
三角形が開くようにしたいのですが三角形の図形を
表示したいのですがうまく出ません。
アドバイスください。
何回かに分けてプログラムを載せさせていただきます。

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;


public class Kasokuki
{
public static void main(String args[])
{
JFrame frame = new KasokukiFrame();
frame.show();
}
}

719亜也:03/09/02 23:54
class KasokukiFrame extends JFrame
{public KasokukiFrame()
{setTitle("TextTest");
setSize(500, 500);
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
  { System.exit(0);}});
Container contentPane = getContentPane();
contentPane.add(new ButtonPanel(), "South");
contentPane.add(new KasoukiPanel());}}
class ButtonPanel extends JPanel implements ActionListener
{Button bt1;
public ButtonPanel()
{bt1 = new Button("CLOSE");
add(bt1);
bt1.addActionListener(this);
bt1.setBackground(Color.blue);}
720亜也:03/09/02 23:57
public void actionPerformed(ActionEvent e)
{object source = e.getSource();
Graphics g = getGraphics();
if(source == bt1){
bt1.setLabel("OPEN");
bt1.setBackground(Color.red);

Polygon k = new Polygon();
k.addPoint(110,160);
k.addPoint(130,190);
k.addPoint(150,160);
g.fillPolygon(k);

Polygon p = new Polygon();
p.addPoint(110,340);
p.addPoint(130,300);
p.addPoint(150,340);
g.fillPolygon(p);

repaint();
}
}
}
721亜也:03/09/02 23:59
class KasoukiPanel extends JPanel
{
public void paintComponent(Graphics g)
{
super.paintComponent(g);

g.drawLine(50,250,400,250);
g.drawOval(0,210,100,40);
g.drawString("ACCELARATOR" ,2,230);

Polygon k = new Polygon();
k.addPoint(110,210);
k.addPoint(130,250);
k.addPoint(150,210);
g.fillPolygon(k);

Polygon p = new Polygon();
p.addPoint(110,290);
p.addPoint(130,250);
p.addPoint(150,290);
g.fillPolygon(p);
}
}
class KasokukiFrame extends JFrame {
public KasokukiFrame() {
setTitle("TextTest");
setSize(500, 500);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
Container contentPane = getContentPane();
JPanel p=new KasoukiPanel();
contentPane.add(new ButtonPanel(p), "South");
contentPane.add(p);
}
}
最初から

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class Kasokuki {
public static void main(String args[]) {
JFrame frame = new KasokukiFrame();
frame.show();
}
}

class KasokukiFrame extends JFrame {
public KasokukiFrame() {
setTitle("TextTest");
setSize(500, 500);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
Container contentPane = getContentPane();
KasoukiPanel p = new KasoukiPanel();
contentPane.add(new ButtonPanel(p), "South");
contentPane.add(p);
}
}
class ButtonPanel extends JPanel implements ActionListener {
Button bt1;
KasoukiPanel panel;
public ButtonPanel(KasoukiPanel panel) {
bt1 = new Button("CLOSE");
this.panel = panel;
add(bt1);
bt1.addActionListener(this);
bt1.setBackground(Color.blue);
}
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
Graphics g = getGraphics();
if (source == bt1) {
bt1.setLabel("OPEN");
bt1.setBackground(Color.red);
repaint();
panel.setDraw(new OpenDraw());
panel.repaint();
}}}
class KasoukiPanel extends JPanel {
Draw draw;
public KasoukiPanel() {
this.draw = new CloseDraw();}
public void setDraw(Draw draw) {
this.draw = draw;}
public void paintComponent(Graphics g) {
super.paintComponent(g);
draw.paint(g); }
}
interface Draw {
void paint(Graphics g);
}
class OpenDraw implements Draw {
public void paint(Graphics g) {
Polygon k = new Polygon();
k.addPoint(110, 160);
k.addPoint(130, 190);
k.addPoint(150, 160);
g.fillPolygon(k);
Polygon p = new Polygon();
p.addPoint(110, 340);
p.addPoint(130, 300);
p.addPoint(150, 340);
g.fillPolygon(p);}}
class CloseDraw implements Draw {
public void paint(Graphics g) {
g.drawLine(50, 250, 400, 250);
g.drawOval(0, 210, 100, 40);
g.drawString("ACCELARATOR", 2, 230);
Polygon k = new Polygon();
k.addPoint(110, 210);
k.addPoint(130, 250);
k.addPoint(150, 210);
g.fillPolygon(k);
Polygon p = new Polygon();
p.addPoint(110, 290);
p.addPoint(130, 250);
p.addPoint(150, 290);
g.fillPolygon(p);}}
以上
何をしたいのかよくわかんない
728亜也:03/09/03 10:49
>>726
ありがとうございます。三角形が上下に開くようになりました。
しかしながらはじめに引いてあった直線が消えてしまうのですが、
これはどうしたら表示したままにできますか?
>>728
g.drawLine(50, 250, 400, 250);
g.drawOval(0, 210, 100, 40);
g.drawString("ACCELARATOR", 2, 230);

↑の3行をOpenDrawのpaintメソッド内に追加
730亜也:03/09/03 12:12
>>729
ありがとうございます。
元の三角形が表示できました。
731リーダー肇:03/09/03 12:21
はじめまして。
StartボタンとクリックするとStopボタン
になり、またStopボタンを押すとStartボタン
表示になる、という風に繰り返しさせたいのですが
どうもうまくいきません。誰かアドバイス頂けませんか?
プログラムが長いので数回に分けて記載致します。

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.Button;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class Button1
{
public static void main(String args[])
{
JFrame frame = new Button1Frame();
frame.show();
}
}
732リーダー肇:03/09/03 12:24
(その2)
class Button1Frame extends JFrame
{
public Button1Frame()
{
setTitle("Button");
setSize(200, 200);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});

Container contentPane = getContentPane();

contentPane.add(new ButtonPanel(), "Center");
}
}
733リーダー肇:03/09/03 12:25
(その3)
class ButtonPanel extends JPanel implements ActionListener
{
Button bt;

public ButtonPanel()
{
bt = new Button("Start");
add(bt);
bt.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
bt.setLabel("Stop");
}
}
>>リーダー肇

Yahooに解答書いてやったぞ
そっち見てくれ
735リーダー肇:03/09/03 13:21
>>734
Re:>「ボタンについて」ってやつですか?
>>735
そうです。
応用すればできると思うけど。。どう?
737亜也:03/09/03 14:58
図形が一対の場合はわかりました。この三角形の図形が
2対の場合はどこを変えれば良いのでしょうか?
もし良かったら教えてもらえませんか?
以下にプログラムを記載します。

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;


public class Kasokuki
{
public static void main(String args[])
{
JFrame frame = new KasokukiFrame();
frame.show();
}
}
738亜也:03/09/03 14:59
class KasokukiFrame extends JFrame
{
public KasokukiFrame()
{
setTitle("TextTest");
setSize(500, 500);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
Container contentPane = getContentPane();
contentPane.add(new ButtonPanel(), "South");
contentPane.add(new KasoukiPanel());
}
}
739亜也:03/09/03 15:00
class ButtonPanel extends JPanel implements ActionListener
{
Button bt1;
Button bt2;

public ButtonPanel()
{
bt1 = new Button("CLOSE");
bt2 = new Button("CLOSE");

add(bt1);
add(bt2);


bt1.addActionListener(this);
bt2.addActionListener(this);


bt1.setBackground(Color.blue);
bt2.setBackground(Color.blue);

}
740亜也:03/09/03 15:03
public void actionPerformed(ActionEvent e)
{Object source = e.getSource();
Graphics g = getGraphics();
if(source == bt1){
bt1.setLabel("OPEN");
bt1.setBackground(Color.red);
Polygon k = new Polygon();
k.addPoint(110,160);
k.addPoint(130,190);
k.addPoint(150,160);
g.fillPolygon(k);
Polygon p = new Polygon();
p.addPoint(110,340);
p.addPoint(130,300);
p.addPoint(150,340);
g.fillPolygon(p);
repaint(); }
if(source == bt2){
bt2.setLabel("OPEN");
bt2.setBackground(Color.red);
Polygon l = new Polygon();
l.addPoint(170,160);
l.addPoint(190,190);
l.addPoint(210,160);
g.fillPolygon(l);
Polygon q = new Polygon();
q.addPoint(170,340);
q.addPoint(190,300);
q.addPoint(210,340);
g.fillPolygon(q);
repaint(); }}}
741亜也:03/09/03 15:05
class KasoukiPanel extends JPanel
{ public void paintComponent(Graphics g)
{ super.paintComponent(g);
g.drawLine(50,250,400,250);
g.drawOval(0,210,100,40);
g.drawString("ACCELARATOR" ,2,230);
Polygon k = new Polygon();
k.addPoint(110,210);
k.addPoint(130,250);
k.addPoint(150,210);
g.fillPolygon(k);
Polygon l = new Polygon();
l.addPoint(170,210);
l.addPoint(190,250);
l.addPoint(210,210);
g.fillPolygon(l);
Polygon p = new Polygon();
p.addPoint(110,290);
p.addPoint(130,250);
p.addPoint(150,290);
g.fillPolygon(p);
Polygon q = new Polygon();
q.addPoint(170,290);
q.addPoint(190,250);
q.addPoint(210,290);
g.fillPolygon(q);}}
連続カキコHelp
だから、ButtonPanelの中で
Graphics g = getGraphics()
ってやったって、
KasoukiPanelの描画するための
Graphicsオブジェクト取得できない

なので
Polygon k = new Polygon();
k.addPoint(110,160);
k.addPoint(130,190);
k.addPoint(150,160);
g.fillPolygon(k);

↑こんなことやっても、ボタンに描画するだけで
KasoukiPanelにはなんにも描画されないから変わらないのは当然
俺が最初に貼ったソースでButtonPanelにKasoukiPanelのインスタンスを保持させたはず
それに対して getGraphics()を実行してKasoukiPanelのGraphicsオブジェクを取得すればいい
744亜也:03/09/03 15:51
>>743
すみません。記載するプログラム間違えました。
図形が1つの場合は理解できたのですが、図形が2つの場合、
別々にボタンbt1,bt2を使って図形を上下(開閉)するのが
うまく作れません。御力を貸してもらえないでしょうか?

<その1>
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class Kasokuki5
{
public static void main(String args[])
{
JFrame frame = new Kasokuki5Frame();
frame.show();
}
}


7454vz:03/09/03 15:51
while文により301〜400までの奇数の積をもとめ、表示するプログラム

for文により101〜200までの偶数の積をもとめ、表示するプログラム

1個のfor文と複数個のif文を用いて1〜100までの和、101〜200までの奇数の和
201〜300までの偶数の和を求め、その結果を表示するプログラム

単価Aおよび売却数Bを入力し、消費税(5%)を含めた売り上げ金額を計算し
ボタンを押すことにより、計算および表示するアプレット プログラム

わけわかりません・・・。
助けてください。
746亜也:03/09/03 15:52
class Kasokuki5Frame extends JFrame
{
public Kasokuki5Frame()
{
setTitle("TextTest");
setSize(500, 500);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
Container contentPane = getContentPane();
KasoukiPanel p = new KasoukiPanel();
contentPane.add(new ButtonPanel(p), "South");
contentPane.add(p);
}
}
747亜也:03/09/03 15:53
class ButtonPanel extends JPanel implements ActionListener
{
Button bt1;
Button bt2;
KasoukiPanel panel;
public ButtonPanel(KasoukiPanel panel)
{
bt1 = new Button("CLOSE");
bt2 = new Button("CLOSE");
this.panel = panel;
add(bt1);
add(bt2);
bt1.addActionListener(this);
bt2.addActionListener(this);
bt1.setBackground(Color.blue);
bt2.setBackground(Color.blue);
}
748亜也:03/09/03 15:54
public void actionPerformed(ActionEvent e)
{
Object source = e.getSource();
Graphics g = getGraphics();
if (source == bt1) {
bt1.setLabel("OPEN");
bt1.setBackground(Color.red);
repaint();
panel.setDraw(new OpenDraw());
panel.repaint();

Object source = e.getSource();
Graphics g = getGraphics();
if (source == bt2) {
bt2.setLabel("OPEN");
bt2.setBackground(Color.red);
repaint();
panel.setDraw(new OpenDraw1());
panel.repaint();
}
}
}
749亜也:03/09/03 15:55
class KasoukiPanel extends JPanel
{
Draw draw;
public KasoukiPanel()
{
this.draw = new CloseDraw();
}
public void setDraw(Draw draw)
{
this.draw = draw;
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
draw.paint(g);;
}
}

interface Draw
{
void paint(Graphics g);
}
750亜也:03/09/03 15:56
class OpenDraw implements Draw
{
public void paint(Graphics g)
{
g.drawLine(50, 250, 400, 250);
g.drawOval(0, 210, 100, 40);
g.drawString("ACCELARATOR", 2, 230);
Polygon k = new Polygon();
k.addPoint(110, 160);
k.addPoint(130, 190);
k.addPoint(150, 160);
g.fillPolygon(k);
Polygon p = new Polygon();
p.addPoint(110, 340);
p.addPoint(130, 300);
p.addPoint(150, 340);
g.fillPolygon(p);
}
}
>>745
いったい何問なのかわからん
空白行区切が一つだと思っていいのか?
7524vz:03/09/03 16:01
すいません、全部で4問です
空白改行でくぎっています
753亜也:03/09/03 16:04
class OpenDraw1 implements Draw
{
public void paint(Graphics g)
{
g.drawLine(50, 250, 400, 250);
g.drawOval(0, 210, 100, 40);
g.drawString("ACCELARATOR", 2, 230);
Polygon l = new Polygon();
l.addPoint(170,160);
l.addPoint(190,190);
l.addPoint(210,160);
g.fillPolygon(l);

Polygon q = new Polygon();
q.addPoint(170,340);
q.addPoint(190,300);
q.addPoint(210,340);
g.fillPolygon(q);
}
}
>>亜也
表示パターンは

1、両方閉じている
2、右側だけ開いている
3、左側だけ開いている
4、両方開いている

の、4パターンしかない
だから4パターンの表示をOpenDrawなどを参考に同じように作ればいい
あとは、そのボタンを押したときに
どれを表示させるか決めれば(setDraw(ここにDraw実装したクラス))いいだけだ

755亜也:03/09/03 16:09
class CloseDraw implements Draw
{
public void paint(Graphics g)
{
g.drawLine(50, 250, 400, 250);
g.drawOval(0, 210, 100, 40);
g.drawString("ACCELARATOR", 2, 230);
Polygon k = new Polygon();
k.addPoint(110, 210);
k.addPoint(130, 250);
k.addPoint(150, 210);
g.fillPolygon(k);

Polygon p = new Polygon();
p.addPoint(110, 290);
p.addPoint(130, 250);
p.addPoint(150, 290);
g.fillPolygon(p);
}
}
756亜也:03/09/03 16:09
class CloseDraw1 implements Draw
{
public void paint(Graphics g)
{
g.drawLine(50, 250, 400, 250);
g.drawOval(0, 210, 100, 40);
g.drawString("ACCELARATOR", 2, 230);
Polygon l = new Polygon();
l.addPoint(170,210);
l.addPoint(190,250);
l.addPoint(210,210);
g.fillPolygon(l);

Polygon q = new Polygon();
q.addPoint(170,290);
q.addPoint(190,250);
q.addPoint(210,290);
g.fillPolygon(q);
}
}
>>4vz
import java.math.BigInteger;
public class DDD {
public static void main(String[] args) {
//1問目
BigInteger x = new BigInteger("301");
BigInteger y = new BigInteger("1");
BigInteger inc = new BigInteger("2");
while (x.intValue() < 401) {
y = y.multiply(x);
x = x.add(inc); }
System.out.println(y);
//2問目
BigInteger a = new BigInteger("1");
for (int i = 102; i < 201; i = i + 2) {
a = a.multiply(new BigInteger(String.valueOf(i)));}
System.out.println(a);
//3問目
int wa=0;
int kisuwa=0;
int gusuwa=0;
for(int i=1;i<301;i++){
if(i>=1&&i<101){wa=wa+i;}
else if(i>=101&&i<201&&i%2!=0){
kisuwa=kisuwa+i;
}else if(i>=201&&i%2==0){
gusuwa=gusuwa+i;}}
System.out.println(wa);
System.out.println(kisuwa);
System.out.println(gusuwa);}}
クラスAからもうひとつのクラスBを呼び出して
クラスBの中でユーザが文字を入力して、その値をクラスAに返すプログラムを教えてください。
import java.io.*;
public class A{
public static void main(String[] args) {
B b=new B();
try{System.out.println(b.getInput());}
catch(IOException e){e.printStackTrace();}
class B{
public String getInput()throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
return br.readLine();
}
}
760亜也:03/09/03 17:03
各々のボタンをクリックすることにより2対の図形を上下に
動かしたいのですがうまく作れません。
どこが悪いのか分からないのでご指摘してください。お願いします。


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class Kasokuki5
{public static void main(String args[])
{JFrame frame = new Kasokuki5Frame();
frame.show();}}

class Kasokuki5Frame extends JFrame
{public Kasokuki5Frame()
{setTitle("TextTest");
setSize(500, 500);
addWindowListener(new WindowAdapter()
{public void windowClosing(WindowEvent e)
{System.exit(0);}});
Container contentPane = getContentPane();
KasokukiPanel p = new KasokukiPanel();
KasokukiPanel p = new KasokukiPanel1();
contentPane.add(new ButtonPanel(p), "South");
contentPane.add(p);}}
761亜也:03/09/03 17:04
class ButtonPanel extends JPanel implements ActionListener
{ Button bt1;
Button bt2;
KasokukiPanel panel;
KasokukiPanel1 panel;
public ButtonPanel(KasokukiPanel panel)
{bt1 = new Button("CLOSE");
this.panel = panel;
add(bt1);
bt1.addActionListener(this);
bt1.setBackground(Color.blue);}
public ButtonPanel(KasoukiPanel panel)
{bt2 = new Button("CLOSE");
this.panel = panel;
add(bt2);
bt2.addActionListener(this);
bt2.setBackground(Color.blue);}
762亜也:03/09/03 17:05
public void actionPerformed(ActionEvent e)
{Object source = e.getSource();
Graphics g = getGraphics();
if (source == bt1) {
bt1.setLabel("OPEN");
bt1.setBackground(Color.red);
repaint();
panel.setDraw(new OpenDraw());
panel.repaint();}
Object source = e.getSource();
Graphics g = getGraphics();
if (source == bt2) {
bt2.setLabel("OPEN");
bt2.setBackground(Color.red);
repaint();
panel.setDraw(new OpenDraw1());
panel.repaint();}}}

class KasokukiPanel extends JPanel
{Draw draw;
public KasoukiPanel()
{this.draw = new CloseDraw();}
public void setDraw(Draw draw)
{this.draw = draw;}
public void paintComponent(Graphics g)
{super.paintComponent(g);
draw.paint(g);}}
7634VZ:03/09/03 17:06
>>757

3問目、下のようにしたらエラーでました。
どこが、まちがっているのでしょうか?

import java.math.BigInteger;
class repo03 {
public static void main(String[] args) {
int wa=0;
int kisuwa=0;
int gusuwa=0;

for(int i=1;i<301;i++){
if(i>=1&&i<101){wa=wa+i;}
else if(i>=101&&i<201&&i%2!=0){
kisuwa=kisuwa+i;
}else if(i>=201&&i%2==0){
gusuwa=gusuwa+i;}}

System.out.println(wa);
System.out.println(kisuwa);
System.out.println(gusuwa);}}
}
}

764亜也:03/09/03 17:08
なんでもありません。間違えました。
>>763
エラーってどんなエラーよ
プログラムは問題ないと思うが?
ファイル名とクラス名一致してないんじゃないの?
7664VZ:03/09/03 17:21
>>765

java:18 claas または interface がありません

java:20 claas または interface がありません

エラー2個って出てきます。
7674VZ:03/09/03 17:24
クラス見直したら、問題なく動作しました。
ありがとうございます。
カッコが多い
7694VZ:03/09/03 17:31
javaアプレットを使う問題です。
問題4>>単価Aおよび売却数Bを入力し、消費税(5%)を含めた売り上げ金額を計算し
      CALCボタンを押すことにより、計算および表示するプログラム
このプログラムをどう改造すれば問題4になるのでしょうか?
import java.applet.Applet;
import java.awt.*;
import java.util.*;
import java.awt.event.*;
public class sample4 extends java.applet.Applet{
double y;
TextField at, bt, ct, xt;
Label al, bl, cl, xl;
Button cal;
public void init(){
Panel p = new Panel();
p.setLayout(new GridLayout(3,1));
p.add(al = new Label("a = "));
p.add(at = new TextField("1.0",10));
p.add(cal = new Button("Calc"));
add(p);
cal.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
double a = new Double(at.getText()).doubleValue();
System.out.print("a = ");
System.out.println(a);
}
}
);
}
}
7704VZ:03/09/03 17:51
javaアプレットを使う問題です。
問題5>>000と入力されたら 0,001と入力されたら 1,010と入力されたら 2.001と入力されたら3と表示するプログラムを作成しなさい。
       また、上記以外の数値が入力されたら"Out of range"と表示すること、プログラムでは必ずswitch文を用いなさい
       AとBを入力しCALCボタンを押すことにより計算および、表示を行うプログラムとすること。

よろしくお願いいたします。
>>770
>問題5>>000と入力されたら 0,001と入力されたら 1,010と入力されたら 2.001と入力されたら3と表示するプログラムを作成しなさい
句読点か小数点かわかんないよ
最後は

011と入力されたら3と表示する

の間違いじゃないのか?
773758:03/09/03 18:09
>>759
ありがとうございました!!
7744VZ:03/09/03 18:11
すいません書きなおします。
問題5>>000と入力されたら0  001と入力されたら1  010と入力されたら2  001と入力されたら3と表示するプログラムを作成しなさい。
       また、上記以外の数値が入力されたら"Out of range"と表示すること、プログラムでは必ずswitch文を用いなさい
       AとBを入力しCALCボタンを押すことにより計算および、表示を行うプログラムとすること。

かなり日本語変でした、すみません。
>>774
いやだから
001が2箇所あるんだけど・・・

001⇒1
010⇒2
011⇒3
ということでいいか?
7764VZ:03/09/03 18:37
たびたび申し訳ないです。
000⇒0
001⇒1
010⇒2
011⇒3

です。
777亜也:03/09/03 18:53
このプログラムだと1つのボタンを押すと3対の図形が一緒に
動いてしまいます。各ボタンに対応させ、1つのボタンを押したら
1対の図形が上下に動くようにするにはどうしたら良いでしょうか。import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class Kasokuki5
{public static void main(String args[])
{JFrame frame = new Kasokuki5Frame();
frame.show();}}

class Kasokuki5Frame extends JFrame
{public Kasokuki5Frame(){
setTitle("TextTest");
setSize(500, 500);
addWindowListener(new WindowAdapter()
{public void windowClosing(WindowEvent e)
{System.exit(0);}});
Container contentPane = getContentPane();
KasoukiPanel p = new KasoukiPanel();
contentPane.add(new ButtonPanel(p), "South");
contentPane.add(p);}}
778亜也:03/09/03 18:56
class ButtonPanel extends JPanel implements ActionListener
{ Button bt1;
Button bt2;
Button bt3;
KasoukiPanel panel;
public ButtonPanel(KasoukiPanel panel)
{ bt1 = new Button("CLOSE");
bt2 = new Button("CLOSE");
bt3 = new Button("CLOSE");
this.panel = panel;
add(bt1);
add(bt2);
add(bt3);
bt1.addActionListener(this);
bt2.addActionListener(this);
bt3.addActionListener(this);
bt1.setBackground(Color.blue);
bt2.setBackground(Color.blue);
bt3.setBackground(Color.blue);}
public void actionPerformed(ActionEvent e)
{ Object source = e.getSource();
Graphics g = getGraphics();
779亜也:03/09/03 18:58
if (source == bt1) {
bt1.setLabel("OPEN");
bt1.setBackground(Color.red);
repaint();
panel.setDraw(new OpenDraw());
panel.repaint();}
if (source == bt2) {
bt2.setLabel("OPEN");
bt2.setBackground(Color.red);
repaint();
panel.setDraw(new OpenDraw());
panel.repaint();}
if (source == bt3) {
bt3.setLabel("OPEN");
bt3.setBackground(Color.red);
repaint();
panel.setDraw(new OpenDraw());
panel.repaint();}}}
class KasoukiPanel extends JPanel
{ Draw draw;
public KasoukiPanel()
{this.draw = new CloseDraw();}
public void setDraw(Draw draw)
{this.draw = draw;}
public void paintComponent(Graphics g)
{ super.paintComponent(g);
draw.paint(g);}}
interface Draw
{void paint(Graphics g);}
780亜也:03/09/03 19:00
class OpenDraw implements Draw
{ public void paint(Graphics g)
{ g.drawLine(50, 250, 400, 250);
g.drawOval(0, 210, 100, 40);
g.drawString("ACCELARATOR", 2, 230);
Polygon k = new Polygon();
k.addPoint(110, 160);
k.addPoint(130, 190);
k.addPoint(150, 160);
g.fillPolygon(k);
Polygon p = new Polygon();
p.addPoint(110, 340);
p.addPoint(130, 300);
p.addPoint(150, 340);
g.fillPolygon(p);
g.drawLine(50, 250, 400, 250);
g.drawOval(0, 210, 100, 40);
g.drawString("ACCELARATOR", 2, 230);
Polygon l = new Polygon();
l.addPoint(170,160);
l.addPoint(190,190);
l.addPoint(210,160);
g.fillPolygon(l);
Polygon q = new Polygon();
q.addPoint(170,340);
q.addPoint(190,300);
q.addPoint(210,340);
g.fillPolygon(q);
g.drawLine(50, 250, 400, 250);
g.drawOval(0, 210, 100, 40);
g.drawString("ACCELARATOR", 2, 230);
781亜也:03/09/03 19:02
Polygon m = new Polygon();
m.addPoint(230,160);
m.addPoint(250,190);
m.addPoint(270,160);
g.fillPolygon(m);

Polygon r = new Polygon();
r.addPoint(230,340);
r.addPoint(250,300);
r.addPoint(270,340);
g.fillPolygon(r);}}

class CloseDraw implements Draw
{ public void paint(Graphics g)
{ g.drawLine(50, 250, 400, 250);
g.drawOval(0, 210, 100, 40);
g.drawString("ACCELARATOR", 2, 230);
Polygon k = new Polygon();
k.addPoint(110, 210);
k.addPoint(130, 250);
k.addPoint(150, 210);
g.fillPolygon(k);

Polygon p = new Polygon();
p.addPoint(110, 290);
p.addPoint(130, 250);
p.addPoint(150, 290);
g.fillPolygon(p);

782亜也:03/09/03 19:03
g.drawLine(50, 250, 400, 250);
g.drawOval(0, 210, 100, 40);
g.drawString("ACCELARATOR", 2, 230);
Polygon l = new Polygon();
l.addPoint(170,210);
l.addPoint(190,250);
l.addPoint(210,210);
g.fillPolygon(l);

Polygon q = new Polygon();
q.addPoint(170,290);
q.addPoint(190,250);
q.addPoint(210,290);
g.fillPolygon(q);

g.drawLine(50, 250, 400, 250);
g.drawOval(0, 210, 100, 40);
g.drawString("ACCELARATOR", 2, 230);
Polygon m = new Polygon();
m.addPoint(230,210);
m.addPoint(250,250);
m.addPoint(270,210);
g.fillPolygon(m);

Polygon r = new Polygon();
r.addPoint(230,290);
r.addPoint(250,250);
r.addPoint(270,290);
g.fillPolygon(r);}}


7834VZ:03/09/03 19:08
>>757

問題1と問題2ですが、動作させたところ、答えが同じになっているのですが・・・。
ひたすら数字がつながっています。
3454844981812310・・・・・・・・88928000000000
と表示されています。
>>783

表示されている部分が一緒なんじゃないの?
System.out.println(ココ);

ちなみに俺の環境では
問題1は
13462202582493649133322624261721566784429149943068316618032392706337477567629570441358181688488617241894344026472786278076171875

問題2は
3454844981812310721790331229459480334357727222717219105606340530316968057477707161440020152188928000000000000
って表示されるが?
785デフォルトの名無しさん:03/09/03 19:15
ブラをはずさずに乳首だけ出しての本番です。
よく関西系の裏ビデオで見かけるのですが
撮影者も裏ビデオの見すぎなのでしょうか?
可愛らしい少女の艶かしいオマンコ描写はさすがというよりありません。
騎上位での下からのアングルがいい!
素人援交の無料モロ動画をチェック!
http://66.40.59.73/index.html
7864VZ:03/09/03 19:18
>>784
ありがとうございます。
問1 問2 解決できました。
787デフォルトの名無しさん:03/09/03 19:46
助けてください
javaで数式電卓作ってこいってイキナリ言われたんですけど、
どうすればいいかサッパリ。誰かソースかいてくだせぇえええ
public class writeSource {
public static void main(String[] args) {
System.out.println("ソース");
}
}
7894VZ:03/09/03 21:23
javaアプレットを使う問題です。
問題>>単価Aおよび売却数Bを入力し、消費税(5%)を含めた売り上げ金額を計算し
      CALCボタンを押すことにより、計算および表示するプログラム
このプログラムをどう改造すれば問題4になるのでしょうか?
よろしくお願いいたします。
import java.applet.Applet;
import java.awt.*;
import java.util.*;
import java.awt.event.*;
public class sample4 extends java.applet.Applet{
double y;
TextField at, bt, ct, xt;
Label al, bl, cl, xl;
Button cal;
public void init(){
Panel p = new Panel();
p.setLayout(new GridLayout(3,1));
p.add(al = new Label("a = "));
p.add(at = new TextField("1.0",10));
p.add(cal = new Button("Calc"));
add(p);
cal.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
double a = new Double(at.getText()).doubleValue();
System.out.print("a = ");
System.out.println(a);
}
}
);
}
}
import java.applet.Applet;
import java.awt.*;
import java.util.*;
import java.awt.event.*;
public class Sample4 extends java.applet.Applet {
double y;
private TextField at, bt, ct, xt;
private Label al, bl, cl, xl;
private Button cal;
public void init() {
Panel p = new Panel();
p.setLayout(new GridLayout(3, 1));
p.add(al = new Label("a = "));
p.add(at = new TextField("1.0", 10));
p.add(bt = new TextField(10));
p.add(cal = new Button("Calc"));
add(p);
cal.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
double a = Double.parseDouble(at.getText())*Double.parseDouble(bt.getText())*(double)1.05;
System.out.print("a = ");
System.out.println(a);
}
});
}
}
791質問っす〜:03/09/03 23:07
シューティングゲームを作ってるんすけど、敵キャラのX座標が0以上ならXを-5していって一番右端つまり、X座標が0になった時今度は右に動くようにしたいのですが、その場合この後どうすればいいのでしょうか?
まだ始めたばっかなので自分の考えがあってるかわからないのですが言ってみます。
Canvas.draw2D(g, enemy_x, enemy_y, ENEMY_IMAGE, io);Canvasクラスから敵の画像データのロード
if ( enemy_x>0) { 敵キャラのX座標が0以上の時
enemy_x -= 5; 座標を-5する。この後に、
1、enemyという画像データを消して、再度enemy2(画像はenemyと同じ)を描写する。
2、enemy2のX座標がスクリーンの幅の値より小さい場合、X座標を+5する。
3、enemy2のX座標が右端にきたら、enemy2の画像を消して再度enemyを描写する。
この様にすればできると思うのですが、画像データを消すやりかたがわかりません。
この他に簡単なやり方等がある場合教えてください。
それが
学校の宿題かよ
7934VZ:03/09/04 02:08
結局問題解けない・・・。
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class SampleApplet4 extends JApplet {
  Container cont;
  JButton btn;
  JLabel la, la2, tf1la, tf2la;
  JTextField tf1, tf2;

  public void init() {
    cont = getContentPane();
    cont.setLayout(new BoxLayout(cont, BoxLayout.Y_AXIS));

    JPanel p1 = new JPanel();
    p1.setLayout(new BoxLayout(p1, BoxLayout.X_AXIS));
    p1.add(Box.createHorizontalGlue());
    tf1la = new JLabel("単価");
    p1.add(tf1la);
    p1.add(Box.createHorizontalGlue());
    tf2la = new JLabel("売却数");
    p1.add(tf2la);
    p1.add(Box.createHorizontalGlue());
    cont.add(p1);
    cont.add(Box.createVerticalGlue());

    JPanel p2 = new JPanel();
    p2.setLayout(new BoxLayout(p2, BoxLayout.X_AXIS));
    p2.add(Box.createHorizontalGlue());
    tf1 = new JTextField(null,5);
    p2.add(tf1);
    p2.add(Box.createHorizontalGlue());
    tf2 = new JTextField(null,5);
    p2.add(tf2);
    p2.add(Box.createHorizontalGlue());
    cont.add(p2);
    cont.add(Box.createVerticalGlue());

    JPanel p3 = new JPanel();
    p3.setLayout(new BoxLayout(p3, BoxLayout.X_AXIS));
    p3.add(Box.createVerticalStrut(40));
    p3.add(Box.createHorizontalGlue());
    la = new JLabel("合計");
    p3.add(la);
    p3.add(Box.createVerticalStrut(40));
    p3.add(Box.createHorizontalGlue());
    la2 = new JLabel("*****円");
    p3.add(la2);
    p3.add(Box.createVerticalStrut(40));
    p3.add(Box.createHorizontalGlue());
    cont.add(p3);
    cont.add(Box.createVerticalGlue());
796デフォルトの名無しさん:03/09/04 16:48

    JPanel p4 = new JPanel();
    p4.setLayout(new BoxLayout(p4, BoxLayout.X_AXIS));
    p4.add(Box.createHorizontalGlue());
    btn = new JButton("変換");
    btn.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent ebn) {
        int a=0, b=0;
        try {
          a = Integer.parseInt(tf1.getText());
        }
        catch(NumberFormatException e) {
          tf1.setText("数を入力してください。");
        }

        try {
          b = Integer.parseInt(tf2.getText());
        }
        catch(NumberFormatException e) {
          tf2.setText("数を入力してください。");
        }
        la2.setText(Calculation.sum(a,b) + "円");
      }
    });
    p4.add(btn);
    p4.add(Box.createHorizontalGlue());
    cont.add(p4);
    cont.add(Box.createVerticalGlue());
  }
}
public class Calculation {
  public static int sum(int a,int b) {
    int absum=(int)(a * b * 1.05);
    return absum;
  }
}

>>問4だっけ?
これでいいか?
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class SampleApplet5 extends JApplet {
  Container cont;
  JButton btn;
  JLabel la;
  JTextField tf;

  public void init() {
    cont = getContentPane();
    cont.setLayout(new BoxLayout(cont, BoxLayout.Y_AXIS));

    tf = new JTextField(null,18);
    cont.add(Box.createVerticalGlue());
    cont.add(tf);
    cont.add(Box.createVerticalGlue());
    la = new JLabel();
    cont.add(Box.createVerticalGlue());
    cont.add(la);
    cont.add(Box.createVerticalGlue());
799デフォルトの名無しさん:03/09/04 16:55

    btn = new JButton("変換");
    btn.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        String str = tf.getText();
        str = NumConversion.conversion(str);
        la.setText(str);
      }
    });
    cont.add(Box.createVerticalGlue());
    cont.add(btn);
    cont.add(Box.createVerticalGlue());
  }
}
800デフォルトの名無しさん:03/09/04 17:13
public class NumConversion {
  public static String conversion(String str) {
    try {
      int num = Integer.parseInt(str);
      switch(num) {
        case 0:
          return "0";
        case 1:
          return "1";
        case 10:
          return "2";
        case 11:
          return "3";
        default:
          return "Out of Range";
      }
    }
    catch(NumberFormatException e) {
      return "数以外を入力しないでください";
    }
  }
}
>>793 問5はこれでいいか?
間違ってるとこは自分で修正よろしく
8034VZ:03/09/04 23:14
>>802
ありがとうございます。
がんばってみます!!
804チーフ:03/09/05 15:51
はじめまして。
javaを始めて間もないので初歩的な質問かもしれません。
以下のようなプログラムの文体(型式)でプログラムを作成しようと
思うのですがpublic BPanel(){ }の中にパネルを
生成することは出来ますか?
また、パネルの中にパネルを貼ることは出来ますか?
(その1)と(その2)に分けて載せます。

(その1)
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class K02
{
public static void main(String args[])
{
JFrame frame = new K02Frame();
frame.show();
}
}
805チーフ:03/09/05 15:52
class k02Frame extends JFrame
{
public Kasokuki02Frame()
{
setTitle("K02");
setSize(500, 500);

Container contentPane = getContentPane();
contentPane.add(new BPanel02());
}
}

BPanel02 extends JPanel implements ActionListener
{


public BPanel02()
{


}
public void actionPerformed(ActionEvent e)
{

}
}

>public BPanel(){ }の中にパネルを
>生成することは出来ますか?
>また、パネルの中にパネルを貼ることは出来ますか?

全てできる

807チーフ:03/09/05 16:09
>>806
例えばそれはpublic BPanel02(){ }の中に

Container contentPane = getContentPane();
JPanel p = new JPanel;
bt = new Button("Start");
p.add(bt);
contentPane.add(p, "Center");

のように定義していけばよいのでしょうか?
>>807
それはちがう、
BPanelはJPanelなので
JPanelにはgetContentPane()する必要はない

JPanel p = new JPanel;
bt = new Button("Start");
p.add(bt);
this.add(p);

こうやればいい
809ZA:03/09/05 22:21
宣教師と人食い人という問題をアプレットで作るという問題です。
宣教師と人食い人とボートに乗れる人数をこちらが決めて結果を出力するというものです。
javaのソースをみつけたのですがアプレットに直せません。
JAVAのソースは
ttp://www.kari.to/upload/source/d/1652.txt
です。
どなたかよろしくお願いします。
810デフォルトの名無しさん:03/09/05 22:45
String型の数式を渡したら、それをString型の逆ポーランド型の数式にして
返してくるソースを誰か書いて〜
811デフォルトの名無しさん:03/09/05 22:50
>>809
クラスをAppletのサブクラスにして
public void init(){
Cannibals.main(null);
}
を追加で行けないか?
812デフォルトの名無しさん:03/09/05 22:51
逆ポーランド型を説明してください
813デフォルトの名無しさん:03/09/06 11:38
10 9 +
だっけ?
814デフォルトの名無しさん:03/09/06 13:51
class Moge{ String value; char op; Moge a, b; Moge(String s){ value = s; }
Moge(char op, Moge a, Moge b){ this.op = op; this.a = a; this.b = b; }
public String toString(){return a==null||b==null?value:a+" "+b+" "+op;}
static String s;static int i;
static boolean isSpace(){return Character.isWhitespace(s.charAt(i));}
static Moge factor() {Moge m;
for (; i < s.length() && isSpace() ; i++) ;
if (s.charAt(i) == '(') { i++; m = expression();
for (; i < s.length() && s.charAt(i) != ')'; i++) ;i++;
} else { int n = i;
for (; i < s.length() && Character.isDigit(s.charAt(i)); i++) ;
m = new Moge(s.substring(n, i)); }
for (; i < s.length() && isSpace(); i++) ;
return m; }
static Moge term() { Moge a = factor(); if (i >= s.length()) return a;
char c = s.charAt(i++);
if (c == '*' || c == '/') return new Moge(c, a, term());
i--; return a; }
static Moge expression() { Moge a = term();
if (i >= s.length()) return a; char c = s.charAt(i++);
if (c == '+' || c == '-') return new Moge(c, a, expression());
i--; return a; }
static String henkan(String s) { Moge.s = s; i = 0; return expression() + ""; }}
815デフォルトの名無しさん:03/09/06 21:55
JAVA初心者(5日目)です。(C経験無し、VB少し)
単位取得の為の課題が出てるのですが、本見てもさっぱりです…(クラス?状態です...)
課題丸投げで申し訳無いですが、この課題で卒業できるか
決まるのでどなたか助けてください・゚・(ノД`)・゚・

内容丸々コピーしてきましたので貼ります↓

これらのクラスのスーパークラスとしてVehicleを用意してください。
Vehicleは抽象クラスでも通常のクラスでもどちらでもかまいません。
Carクラス・・・車を現すクラス
Trailerクラス・・・トレーラを現すクラス
RacingCarクラス・・・レーシングカークラス

各クラスがあつかうデータと処理
データ
燃費(kg/l),最大燃料(l),燃料(l),ナンバー,
処理
走行(何キロ走るか)
  走った距離にあわせて燃料を減らす。
  もし走行中に燃料が0になったら,「○○km走って燃料がなくなりましたと表示」
給油(何リッター入れるか)
  燃料を増やす。
  もし給油した結果最大燃料を超えたら「あふれました」と表示
816デフォルトの名無しさん:03/09/06 21:58
トレーラークラスだけのデータと処理
データ
積載重量(kg)
  余裕のある人は,積載重量が最大積載量になった時点で,燃費が半分になるような比率で,
  積載重量にあわせて燃料の消費を増減してください。
最大積載重量(kg)
処理
荷物をのせる(何キロ載せるか)
  積載重量を増やす。
  もし,最大積載量を超えるなら「載せられません」を表示
荷物をおろす(何キロおろすか)
  積載重量がマイナスにならないようにする。
レーシングカーだけのデータと処理
データ
タイヤ(%)
  タイヤの状態を表す。最も良い状態を100%とする。
  10km走行するたびに1%減。
  余裕のある人は,タイヤの状態が0%になった時点で,燃費が半分になるような比率で,
  タイヤの状態にあわせて燃料の消費を増減してください。
処理
タイヤ交換(引数なし)
  タイヤの状態を100%にする。
817デフォルトの名無しさん:03/09/06 22:16
public abstract class Venicle {
private double nenpi = 1.0; // 燃費(kg/l)
private double saidaiNeiryou = 0.0; // 最大燃料(l)
private double nenryou = 0.0; // 燃料(l)
private String number = "北朝鮮 HOGE ろ 88-88"; // ナンバー
/**
* 燃費を取得
*/
public double getNenpi() {
return nenpi;
}
/**
* 燃費を設定
*/
public void setNenpi(double nenpi) {
this.nenpi = nenpi;
}
/**
* 最大燃料を取得
*/
public void getSaidaiNenryou() {
return saidaiNenryou;
}
/**
* 最大燃料を設定
*/
public void setSaidaiNenryou(double saidaiNenryou) {
this.saidaiNenryou = saidaiNenryou;
}
818デフォルトの名無しさん:03/09/06 22:17
/**
* 燃料を取得
*/
public double getNenryou() {
return nenryou;
}
/**
* 燃料を設定
*/
public void setNenryou(double nenryou) {
if (nenryou > getSaidaiNenryou()) {
System.out.println("あふれました");
this.nenryou = getSaidaiNenryou();
} else {
this.nenryou = nenryou;
}
}
/**
* ナンバーを取得
*/
public String getNumber() {
return number;
}
/**
* ナンバーを設定
*/
public void setNumber(String number) {
this.number = number;
}
819デフォルトの名無しさん:03/09/06 22:18
/**
* 走行
* @param 何キロ走るかをキロ単位で渡す
*/
public soukou(int k) {
// TODO: 燃料があるかを確認し、あれば燃料を減らす。
// TODO: 燃料枯渇時の処理は燃料のメソッドに書くとベター
}
/**
* 給油
* @param 給油する燃料を与える
*/
public kyuuyu(double l) {
setNenryou()
}
820デフォルトの名無しさん:03/09/06 22:19
もうだめぽ
821デフォルトの名無しさん:03/09/06 22:35
何をすればいいんだ?
vihicleクラスだけ書けばいいの?
Carクラスも書くの?
817以下はサンプルとして出されたものなの?
822815:03/09/06 22:43
>>818-820
ありがとうございます!ほんとに助かります。
これが途中(どこまで出来てるかも分かりません…抜けてるとこは
自分で)との事でしたら出来るか分かりませんが頑張ってみます。

>>820
>これらのクラスのスーパークラスとしてVehicleを用意してください。
多分↑だけでいいと思います。
正直何がなんだかさっぱりなので、ここで相談させていただきました。
817以下はどなたかが親切にやっていただいた物だと思います。


>>822
朝っぱらに目が覚めて暇だったから俺も作ってみた
載せときまつ

/**
* Vehicleクラス
*/
public class Vehicle {
private double nenpi;//燃費(km/l)
private double maxNenryou;//最大燃料(l)
private double nenryou;//燃料(l)
private String number;//ナンバー
private double mileage;//走行距離(km)
private double nenpiBuffe;//燃費一時記憶変数

/**
* 初期化
*/
Vehicle() {
nenpi=0;
maxNenryou=0;
nenryou=0;
number="";
mileage=0;
newNenpiBuffe();
}
/**
* 燃費取得
*/
public double getNenpi() {
return nenpi;
}

/**
* 燃費設定
*/
public void setNenpi(double nenpi) {
this.nenpi = nenpi;
newNenpiBuffe();
}

/**
* 最大燃料設定
*/
public void setMaxNenryou(double maxNenryou) {
this.maxNenryou = maxNenryou;
}

/**
* 燃料取得
*/
public double getNenryou() {
return nenryou;
}

/**
* ナンバー取得
*/
public String getNumber() {
return number;
}
//燃料が0ならばメッセージを返す
if(nenryou == 0) {
getNenpiMessege();
}
}

/**
* 給油
*/
public void oilSupply(double nenryou) {
if((nenryou+this.nenryou) >= maxNenryou) {
this.nenryou += nenryou;
}
else {
double oerverOil = this.nenryou+nenryou;
this.nenryou = maxNenryou;
getOilMaxMessege(oerverOil);
}
}

/**
* 走行距離を取得
*/
public double getMileage() {
return mileage;
}
/**
* 燃費比率
*/
protected void nenpiRaio(double raio) {
nenpi = nenpiBuffe * raio;
}
826デフォルトの名無しさん:03/09/07 08:18
/**
* 燃費バッファの更新
*/
private void newNenpiBuffe() {
nenpiBuffe = nenpi;
}

/**
* 燃料が0になったときのメッセージ
*/
private String getNenpiMessege() {
return mileage + "km走って燃料がなくなりました";
}

/**
* 給油時にあふれたときのメッセージ
*/
private String getOilMaxMessege(double oerverOil) {
return oerverOil + "l あふれました。";
}
}
/**
* Trailerクラス
*/
public class Trailer extends Vehicle {
private double weight;//現在の荷物の重さ
private double maxWeight;//最大積載重量
private double nenpiRaio;//燃費比率

/**
* ディフォルトコンストラクタ
*/
Trailer() {
weight=0;
maxWeight=0;
nenpiRaio=0;
}

/**
* 荷物を載せる
*/
public void weightPut(double weight) {
//現在の積載重量さ+設定積載重量が最大積載重量以下ならば
if((weight+this.weight)<=maxWeight) {
this.weight += weight;
raio();
}
else {
weightPutMesseg();
}
}
/**
* 荷物を降ろす
*/
public void weightDown(double weight) {
//設定積載重量が最大積載重量以下ならば
if(weight<=maxWeight) {
this.weight -= weight;
raio();
}
else {
weightDownMesseg();
}
}
/**
* 燃費比率
*/
private void raio() {
double raioNum = 1/2*(maxWeight/weight);
super.nenpiRaio(raioNum);
}
/**
* 積載重量オーバ時のメッセージ
*/
private String weightPutMesseg() {
return "載せられません";
}

/**
* 積載重量ダウン時のメッセージ
*/
private String weightDownMesseg() {
return "降ろせられません";
}
}
/**
* RacingCarクラス
**/
public class RacingCar extends Vehicle {
private int taiya;//タイヤ
private int mileageNum;//走行距離カウント数
private double mileage;//走行距離

/**
* ディフォルトコンストラクタ
*/
RacingCar() {
taiya=100;
mileageNum=1;
setMileage();
}
/**
* タイヤ比率
*/
public void runTaiya(double mileage) {
super.run(mileage);
//規定走行距離(10km×n)が現時点の総合距離より低くくて
//タイヤが0%より上なら、タイヤの耐久性- & カウント数+ & 燃費比率更新
while(10*mileageNum<mileage && 0 < taiya) {
taiya--;
mileageNum++;
double raioNum = 1/2*(100/taiya);
super.nenpiRaio(raioNum);
}
}
/**
* 新しいタイヤに交換
*/
public void newTaiya() {
taiya = 100;
}

/**
* 走行距離を取得
*/
private void setMileage() {
mileage = super.getMileage();
}
}

>>820 書き込みミスあるかもしれん、一応コンパイルはできたが起動してない
コンパイルエラーでるのなら、ソース渡すから、そのときはメールアドレス教えてくれ
自分の力でやるならガンガレ
それでは私は寝ます
832デフォルトの名無しさん:03/09/07 13:36
23.45の平方根をだすPGなんだけどエラーでシンボルの解釈処理できませんとエラー
がでます!助けて!
age!!!!!
class Math{
public static void main(String args[]){
System.out.println(Math.sqrt(23.45));
}
}
>>832
クラス名をMath以外にしろ
>>832 java.lang.Math.sqrt(23.45)に変える。
835832:03/09/07 15:01
CLASSPATH追加したらできますた‥

にゃろ〜本にはPATH追加するだけでいいって書いてあったのに!!

>>833-834
ご指摘ありがとうです。
( ゚д゚)ポカーン
837デフォルトの名無しさん:03/09/07 19:23
Javaで自分のPCのIPアドレス取得できる
方法を教えてください。
>>837
import java.net.*;

class MyIPAddress {
public static void main(String args[]) {
try{
InetAddress addr = InetAddress.getLocalHost();
System.out.println(addr.getHostAddress());
}catch (Exception e) {
System.out.println(e);
}
}
}
839815:03/09/08 01:36
>>823-831
ありがとうございます・゚・(ノД`)・゚・
なんとか明日朝1の提出に間に合いそうでつ
お願いします。
400行以上でゲームを作れという宿題です。
以前に作ったブロック崩しゲームを
拡張しようと思っているのですが、
これ以上上手く出来ません。
助けてください。
841840:03/09/10 00:35
自分で作ったプログラムがあまりにも長すぎるのですが、
それでも載せた方がよろしいですか?

生意気で申し訳ないです。
別にかまわんよ
あるいは自分のHPに載せるか、アップローダー使うか
844デフォルトの名無しさん:03/09/10 01:17
キーボード入力でVector配列にDate型の値を入力し、Vector配列の中身をファイルに書き込んでから
ファイルを読み込む(vector配列にファイルの中身を挿入します)
その時、型変換がうまくいきません。
(注:入力時、出力時はyyyy/MM/dd)
教えてくださいお願いします。
ファイルから読み込んだ値はただのString
これをData型に変える処理をしないといけない
846840:03/09/10 01:26
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/index.html
に貼り付けました。
自分の作ったプログラム、という題名で新しいスレッドをたててしまったのですが、良かったですか?

自分でも酷いと思ってしまうプログラムですが、お願いします。
847デフォルトの名無しさん:03/09/10 01:32
SimpleDateFormat s = new SimpleDateFormat();

String str = reader.readLine(); //reader.readLine()はファイルから読み込む処理
Date d = s.parse(str);
vec.add(d);

一部ですけど、これで動かなかったんですよ・・・
848デフォルトの名無しさん:03/09/10 01:32
844 = 847
>>847
動かないって言われてもな
ParseException が出るとか
中身がnullだとか
そもそも、String str = reader.readLine();
の中にはどんな文字列が入ってるのか
System.out.print(str);で見てみたらどうなのよ?
>>840
blocks.changeColor(color);でエラーになる
BlockWindow はどこから持ってくればいいんだ?
851840:03/09/10 03:09
僕はエラーでないで動くんですけど。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/index.html
に、BlockMain.javaも示したのですが。

見当はずれな事を言ってたら御免なさい。
>>851
いや、この部分のblocksはVectorオブジェクトだが
changeColor(color)っていうのはBlockWindow のメソッド
Vectorオブジェクトからは呼べない
なのでエラーになるのだが・・・
とりあえず俺なりに修正はしたが
で、どういう風にすればいいんだ?
ゲーム自体は動くぞ?
俺的には、カーソルの動きが遅くてすぐゲームオーバーになるのが嫌なのだが・・・
854840:03/09/10 03:44
すみません、うまく書き込めずに時間がたってしまいました。

1回ブロックに当たったら色が変わり、
2回当たったら消える、というのをやりたかったのですが、
色が変わらないけど、
エラーは出なかったので、そこは放棄してました。

点数の表示を入れたり、
あるブロックに当たるとボールが2つになるとか、でかくなるとか、
落ちたらパッドの幅が小さくなっていき、何回目かでゲームオーバーとか、
そういうゲームっぽい事をいろいろ考えていたのですけど、
動かすことで精一杯でした。

>>854
そこまで拡張性考えているのなら
今のままの設計では難しいだろう
たとえばBlockオブジェクトは
一個一個オブジェクトにしてはどうか?
コレが最善かどうかはわからないが

class Block extends Panel{
int x;//表示位置X
int y;//表示位置Y
int width=100;//幅 どれも一緒だと思うので初期値与える
int height20;//高さ 同上
Color color;//現在の色
Color[] colorList={Color.GREEN,Color.RED};//変遷する色
int count;//何回目で消えるか
int hit=0;//何回当たったか
//コンストラクタでこのブロックの位置など設定
public Block(int x,int y,int count){
this.x=x;
this.y=y;
this.count=count;
this.color=colorList[hit];}
//当たった場合の処理
public void hit(){
if(count==hit){//このブロック消す処理
}
else{
hit++;color=colorList[hit];repaint();}}
public void paint(Graphics g) {g.setColor(color);g.fillRect(x, y, length, height);}}

856840:03/09/10 04:44
有難う御座います。
ブロック崩しは(ある授業の課題で)大体の構造等は決められてて、
(BlockWindow、Playerなどはほぼ与えられたまま)
ボールを動かすのと、ブロックが消えるところを
自分の力でやっただけでした。

だから、いまいちjavaに関して理解力ないのですが
言われた所を先ずはやってみようと思います
(Ball.javaで何かとやりすぎだとは思っていました)
857●のテストカキコ中:03/09/10 05:25
http://ula2ch.muvc.net/ (このカキコは削除しても良いです)
858デフォルトの名無しさん:03/09/10 10:26
>>840
大事なこと忘れてないか?
アプレッ(ry
859840:03/09/10 22:19
何故か僕もBlockWindow等でエラーが出始めました。
全然進みません、助けてもらえないでしょうか?

アプレットは完成してから付ければいいかな
何て考えてました。甘いですか?
>>840

べつに、アプリケーションのままでもいいじゃん>>858のような書き込みは気にするな

ちなみに俺が直した場所は
blocks.changeColor(color);⇔window.changeColor(color);
だったと思う。昨日の事なのでちょっと忘れかけているが・・・
861858:03/09/10 22:34
>>859
JavaのAppletを用いてゲームを作りなさい。
だよね?
ああそうなのか
すいません>>858さん
見落としてました
863840:03/09/10 22:46
確かに
エラーは出るけど、動くには動くんですね。
先ずは地道にエラーを消して行こうかと思います

本を買ってきて、載ってるゲームを拡張しようかとも
思ってるんですけど、
どちらの方が良さそうですか?
おれなら、自分でやる
あそこまでやって、あきらめるのかよ!
とりあいずアプリに移植したほうがいいような気もするが。
867840:03/09/10 23:00
ブロック崩しでやってみます!

アプリは自分が学校で作ったHPしか持ってないので、
実際に確かめられないかな、と思って
先延ばしにしてました
868866:03/09/10 23:31
間違えた。
アプリ→アプレット
ローカルで試せばHPスペースなんてイラネーぞ

それよりも、提出まで時間あるならもう1度設計から少しずつやっていけよ
あんなでかいソースいきなり貼られて「わからない」っていわれてもどこが問題かわからないからな
870840:03/09/10 23:59
ローカル(エリアですよね?)で出来るんですか?知りませんでした。

期限は実質1週間無いです。
典型的な「もっと早くやれば良かった」って奴です。
ここいら辺は幾つになっても直らないようで
871840:03/09/11 03:08
基礎から勉強し直してみたのですが、
正直作りきる自身がありません。

どなたか簡単なブロック崩しか、テトリスを
作って下さる方はいませんか?

弱気ですみません
ていうか、あのプログラムで単位ぐらい取れるべ
延々とLevel1のままでも十分だと思うけどな
あれが卒研ならやばいけど・・・

まあ、俺も暇だから作ってやってもいいけど
期日まじで何日まで?

あとは、ゲームの要件教えてくれ
得点表示するのかとか
レベルあるのかとか
細かく指定してくれ
アプレットでJDK1.4ベースで作っていいのか?
873840:03/09/11 04:47
本当にすみません。

期日は16日です。

ここまできてこんな事を言うのもあれなのですが、
アプレットは自分で勉強して何とかしようと思ってます。

どちらをやっていただけますか?
ブロック崩しなら、
・得点表示
・キーボードのボタンを使ってのスタート、リスタート
・下面につくとカーソルが小さくなっていき、
 何回目かでゲームオーバー
・スタート位置をランダムにする。
 (僕が作ったやつは常に同じ動きだったので)
・1回当たると色が変わり、2回当たると消える

テトリスなら、
・得点表示
・ボタンを使ってのスタート、
・矢印キーでのブロックの移動、
・出来るなら、ある得点から落ちるスピードが早くなる

これらをお願いしたいです。
全部とは言いませんので。
あと、クラスを5つ以上という条件がありました。
874840:03/09/11 04:57
使ってるのは
j2sdk standaed edition1.4.1だったと思います
これってJDK1.4ベースでしょうか?
875haruko:03/09/11 05:26
http://visionlab.harvard.edu/Members/Alumni/ikuya/html/memorandum/VisualJitter.html

↑にあるようなアプレットを至急作らなくてはならないのですが、
似たようなプログラムソースをダウンロードできるところはありますか?
おねがいします。
876yy:03/09/11 16:42
これにいろいろ載ってるよ。
君らの上の代の人は大抵これの世話になってたし。
俺が知ってるだけで10人は持ってたな…
これのコードをそのまま出すのはキケン。なぜならみんなコピペしてるから。
まあとりあえず買いなはれ。
http://www.horae.dti.ne.jp/~yoji/
877ZA:03/09/11 19:43
>>809なのですが、811さんの書き込みのあとに自分で値を入力して実行する方法を考えてたのですが動きません。
途中までやったプログラムのソースをあげてみます。
よろしくお願いします。
ttp://xtp0001.s3.x-beat.com/cgi-bin/up/source/Sonata_3879txt.html
878haruko:03/09/12 15:38
>>876

サンクスです♪
今このような作業をしています。

No.1 鈴木 Feb-01
No.2 松園 Mar-03
No.3 黒澤 Apr-04
No.4 鈴木 Jan-02
No.5 松園 Dev-02


この様な、リストを、以下のように一括で編集できるスクリプトを、書きたいのですが、
どのように書けばいいですかね?実際のファイルは4000個くらい並んでます。

鈴木 Feb-01,No.1 Jan-02,No.4
松園 Mar-03,No.2 Dev-02,No.5
黒澤 Apr-04,No.3

名前 半角スペース 日付,番号 と、言う形にしたいのですが・・・。

よろしくお願いします。
Dev?
>>879
Javaの宿題?
awkかperlで作業すれば簡単そうに見えるけど。
882879:03/09/13 14:22
>>881

あ、いまJavaを勉強してるので ここに書き込んでしまいました。
別にJavaじゃなくても、だいじょぶです。

awkかperlですか。 そっち系のスレで聞いてきます。
失礼します。
883840:03/09/14 21:31
872さん
作っていただいてるんでしょうか?
さすがにちと不安で。

自分でもやってるんですけど、
やはり、厳しいです
>>883
ココにソース載ってるよ テトリス
ttp://iruka.n.is.sci.toho-u.ac/tetra/
885840:03/09/14 21:58
>>884
872さんですか?
ファイルへ   1 2 3 4 5 6 7
8 9 10 11 12 13 14
のように書き込みました。
読み込むときに行ごとには読み込めるのですが
値ごとに読み込む方法がわかりません・・・
おしえてください、お願いします。
その書き込むデータがintと決まっていて
尚且つ、人間が読めないファイルで保存してもいいなら
DataOutputStream、DataInputStreamを使えば楽

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.EOFException;
import java.io.FileInputStream;
import java.io.FileOutputStream;

public class Test {

public static void main(String[] args)throws Exception {
String filename="data.txt";
DataOutputStream dos=new DataOutputStream(new FileOutputStream(filename));
int[] data={1,2,3,4,5,6,7,8,9,10,11,12,13,14};
for(int i=0;i<data.length;i++){
dos.writeInt(data[i]);
}
dos.close();

DataInputStream dis=new DataInputStream(new FileInputStream(filename));
int x;
while(true){
try{
x=dis.readInt();
System.out.println(x);
}
catch(EOFException e){
break;}}dis.close();}}
888886:03/09/15 00:17
>>887
説明不足ですみません。
ファイルに書かれてるのは文字列型で人間の読める形で書き込みました。
それを一つずつ取得したいんです。
一つの値ごとに取得したいのは配列へ入れたいからなんです。
abc 123 def 456
hgi 789
というのを配列へ入れたいのです。
0番目 1番目 2番目 3番目 4番目 5番目
abc 123 def 456 hgi 789
じゃあ、これは?

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.StringTokenizer;

public class Test2 {

public static void main(String[] args) throws Exception {
String filename = "data.txt";
String blank = " ";
FileWriter fw = new FileWriter(filename);
String[] data = { "abc", "123", "def", "456", "hgi", "789" };
for (int i = 0; i < data.length; i++) {
fw.write(data[i] + blank);
}
fw.close();

BufferedReader br=new BufferedReader(new FileReader(filename));
String line;
while((line=br.readLine())!=null){
StringTokenizer st = new StringTokenizer(line);
while(st.hasMoreTokens()){
System.out.println(st.nextToken());
}
}
br.close();
}
}
890886:03/09/15 01:45
>>889
ありがとうございました!!
完璧です!
891デフォルトの名無しさん:03/09/15 04:19
FTPみたいなファイル転送に使えるクラスってありますか?
>>891
とりあえず、ファイルに
import java.io.*;
import java.net.*;
と書いておけば
明日の朝には出来ていると思う
>>891
jakarta-commons-net
894デフォルトの名無しさん:03/09/15 09:35
>>892
光ファイバーの線で首吊って死ね
895840:03/09/16 01:16
872さん
どんな感じですか?
ちと不安で。
>>840
だから、
ココにソース載ってるよ テトリス
コレ使えよ
ttp://iruka.n.is.sci.toho-u.ac/tetra/
897840:03/09/16 01:39
このソース凄過ぎて、
手に負えない部分ばかりなんですけど、
そこは頑張るしかないってやつですか。
898デフォルトの名無しさん:03/09/16 02:02
HTMLのソースを読み込んで
文法に誤りがないかを探すプログラムなんですが
締め切りすぎちゃってる事に今気づきました。
が、プログラム暦半年の漏れにできるでしょうか?
899840:03/09/16 02:13
本当に難し過ぎて
分からないです

助けて下さい
>>840
明日うpするよ。
>>900
うそつけ。
変な期待を持たせるなよ。
待っている840が可哀想だ
>>840
無理せず自分の能力に合ったゲーム作ればいい
希望の条件のブロック崩しは、締め切り時間考えても無理

君の能力なら、もぐらたたきぐらいなら簡単に作れるのではないだろうか?
903デフォルトの名無しさん:03/09/17 23:54
結局自分でやれないかったのが悪いわけで、

なんとかあがいてます。
904デフォルトの名無しさん:03/09/18 20:09
Stringクラスを使用したプログラム何でもいいので簡単なのをお願いします。

それとMathクラスを使用したのを別途お願いします。
906デフォルトの名無しさん:03/09/18 21:49
>905
ありがとう。参考にします
907七氏:03/09/18 21:49
ナイトの巡回の問題にいどんでいるのですが、サァッパリわかりません。
java appletでこれを解いたらどんなプログラムになるのですか?
お教えください!!!!
>>907
Javaアプレットでなければできるのか?
アルゴリズムは箇条書きできるか?
>>905
いくらなんでも甘やかし過ぎ。
本人の為にならんよ。
910七氏:03/09/19 02:07
>>908
javaでのプログラムについての資料は有るのですが、そこからどのようにapplet
に直せばいいのかでつまっています。アルゴリズムとしては、ある程度把握でき
ているものと思っています。
 マスの設定(N*Nを作りたいなら、プログラム上では,(N+4)*(N+4)にして
       ナイトが行けない領域の初期値を0以外のものにしておく) 
など。。。
    
911デフォルトの名無しさん:03/09/19 16:03
入力したfloat型の値を整数部4桁、小数部2桁で取得したいです。
お願いします。

例.
入力 表示
123456.123456 → 3456.12
>>911
なんかわすれたが

0.##←こんな感じの奴やってみれ
>>912
小数部はなりますけど、整数部はなりません
914912:03/09/19 16:12
>>911
こんな感じだったか?
float f=・・・;
DecimalFormat dformat = new DecimalFormat("#.00");
String result=dformat.format(f);

>>913
そういわれてもなぁ〜あくまでも「こんな感じ」なので突っ込まれてもしょうがないんだが・・・
915911:03/09/19 18:40
整数のところもお願いします・・・汗
917911:03/09/19 18:56
>>916
見てもわかりません。小数点以下を制限出来そうですけど
整数の部分が・・・
919911:03/09/19 19:45
>>918
使い方がわからないです・・・泣
>>916のConstructing Patternsのソース2行目に追加
myFormatter.setMaximumIntegerDigits(4);
変数は、任意に指定して。
921911:03/09/19 20:24
>>920
わあぁぁぁぁ!!
すごい!!出ました!!!
ありがとうございました。
922デフォルトの名無しさん :03/09/19 22:13
エラーが出て困ってます。

import java.awt.event.*;
import java.lang.*;
import javax.swing.*;
import java.util.*;

public class BlockMain4 extends Applet implements Runnable {
Thread thread = null;
private Ball ball;
private Block b;
Vector blocks = new Vector();// ブロックのVector
private Pad p; // Padの具体化
int speed;
Image offs;
Graphics graph;

public void init(){
ball = new Ball(150,300,60,blocks,this);
p = new Pad(this);
blocks = new Vector();
setBackground(Color.white);

ここから続いていくのですが、
ball = new Ball(150,300,60,blocks,this);で
シンボルを解決出来ない、と出るのですが、
何がいけないのですか?
どなたかお願いします。


>>922
まず、java.applet・java.awtがインポートされてない、
余分なパッケージはあるのに、肝心なものがない。
Ball・Block・Padの各クラスは自分で確認。

間違い探しなら、EclipseやNetBeansのようなIDE使った方が良いかと。
924デフォルトの名無しさん:03/09/20 09:16
内部クラスになっているプログラムのクラス図を書かなくてはいけないんですが、各クラスの関係は一番外側のクラスに対して集約とかコンポジションにしとけば、とりあえず間違いないですよね?
925デフォルトの名無しさん:03/09/20 16:53
>>923
java.applet・java.awtはコピペのミスでした。

ball = new Ball(150,300,60,blocks,this);が駄目で、
p = new Pad(this);が良いっていうのが、
全く分からないです。
>925

BallのコンストラクタがBall(int,int,int,Vector,Applet)ではない
とかかな?
何か根本的な所で間違ってる気がする。
複数のAPI仕様をマージするツールとかないですか?
>>927
ソースがあるならいっぺんにJavaDocかけたら?

-classpath と -link オプションを使うとか
http://java.sun.com/j2se/1.3/ja/docs/ja/tooldocs/win32/javadoc.html#javadocoptions
String型の1234567890
という文字列を
12345だけファイルに出力するようにしたいのですがどうすればできるんでしょうか?
930デフォルトの名無しさん:03/09/21 22:25
  
931デフォルトの名無しさん:03/09/21 22:58
>>929

import java.io.FileWriter;

String num = "1234567890";
FileWriter fw = new FileWriter ("出力先ファイルのパス");
fw.write(num.substring(0,5));
fw.close();

これじゃだめ?
常に5文字固定じゃないのならだめだけど。
932929:03/09/21 23:30
>>931
>>929はかなり要約しちゃったんですけど、
12345にするメソッド、
それをファイルに書き込むメソッドってな具合に分けてあるんですよ。
で実は、書き込むほうのメソッドは自力で完成までたどり着けそうなんですが
12345だけにするメソッドの部分がよくわからないんですよ。
933931:03/09/21 23:51
うーん。
その12345だけにするメソッドにどこまでの機能を持たそうと
してるのがよくわからないけど、

/**
* 文字列分割メソッド
* @param String s 文字列
* @param int start 取り出し開始位置(文字列の先頭は'0'文字目とします)
* @param int end 取り出す文字数
*/
private String subString( String s, int start, int end )
{
return s.substring( start, end );
}

では?
もしかしたらすごい勘違いしてるかもしれないけど。
そうだったらごめんね。
あと、コンパイルもしてないです。
こんな感じでいけるのではないかな〜って。
934デフォルトの名無しさん:03/09/23 22:25
値Aと値Bの割り算をして小数点第3位まで表示して、それ以下は切り捨てたいです。
よろしくお願いします。
double a, b, c;

// aとbに計算するもの(a/bとしたいもの)を入れる。

c = floor(a / b * 1000.0) / 1000.0;
>>935
Javaですよね?
import java.lang.Math;

c = Math.floor(a / b * 1000.0) / 1000.0;
System.out.println(c);

つかここまでかかんと駄目なの…
>import java.lang.Math;

ジョークだよな。
>>938
釜かけてるつもりか?

import文復習してこい。
>>939
( ゚д゚)ポカーン
>>937
もっとちゃんと書けよ

import java.lang.Math;
import java.lang.System;

(・∀・)ナンチテ
>>937
そのimport文はいらないだろ。
>>936はどのクラスのメソッドかが知りたかったんじゃないか?
943デフォルトの名無しさん:03/09/29 18:31
質問させて下さい。
まだJAVAを勉強し始めて間もないんですが、
BigIntegerなるものを使って『xのn乗』を計算するプログラムを書くことになりました。
以下のアルゴリズムが与えられています。


入力:底・x、指数・n、法・m
出力:xのn乗 (mod m)

1. p←x、y←1

2. n>0の間繰り返し
  
  (a)nが偶数のとき:
   2a-1. n←n/2
   2a-2. p←pの2乗 (mod m)

  (b)nが奇数のとき:
   2b-1.  n←n−1
   2b-2.  y←p×y  (mod m)

3. 繰り返し終了

4. 戻り値としてyを返す

『modPow』とゆうメソッドを使うのではないかというのはわかるんですが、
どんな具合にプログラムを書いたらよいのかわからず悩んでいます。
どなたかわかる方がいらっしゃいましたら教えていただけませんでしょうか・・・。
よろしくお願いします。
944デフォルトの名無しさん:03/09/29 19:50
マルチポストウザイ。
>>943
Math.pow(x.n);
946克弥:03/09/30 14:49
一番大きな四角形のサイズを変えると、内側の四角形も自動的に小さくするプログラムを作りたいのですが、このプログラムだと実行は出来るのですが、フレーム自体を移動させたりすると変な線が勝手に出てきたりします。もっと良い方法があったら教えてください。
あと、四角形のサイズが変わるとそのサイズにあわせてボタンが移動するやり方を教えて頂けませんか?
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class zemi123Frame extends JFrame{
public zemi123Frame(){
setSize(1030,770);
Container contentPane=getContentPane();
contentPane.add(new zemi123Panel());
}
}

public class zemi123{
public static void main(String[] args)
{
JFrame frame=new zemi123Frame();
frame.show();
}
}
947克弥:03/09/30 14:53
class zemi123Panel extends JPanel
{ public zemi123Panel(){

setLayout(null);
Button b1=new Button("PRINT");
add(b1);
b1.setBounds(50,50,50,50);
}
public void paintComponent(Graphics g){
int x1,x2,x3,x4,x5,x6,y1,y3,y4,y5,y6;
x1=25;
y1=5;
x2=999;
double y02=(x2-x1)*3/4+y1;
int y2=(int)y02;
x3=x1+20;
x4=x2-20;
y3=y1+15;
y4=y2-15;
x5=x1+36;
x6=x2-36;
y5=y1+27;
y6=y2-27;
948克弥:03/09/30 14:55
つづき
g.drawLine(x1,y1,x2,y1);
g.drawLine(x1,y1,x1,y2);
g.drawLine(x2,y1,x2,y2);
g.drawLine(x1,y2,x2,y2);
g.drawLine(x3,y3,x4,y3);
g.drawLine(x3,y3,x3,y4);
g.drawLine(x4,y3,x4,y4);
g.drawLine(x3,y4,x4,y4);
g.drawLine(x5,y5,x6,y5);
g.drawLine(x5,y5,x5,y6);
g.drawLine(x6,y5,x6,y6);
g.drawLine(x5,y6,x6,y6);
}

}
949デフォルトの名無しさん:03/10/02 00:39
エクセルで作ったCSV形式のデータベースをJAVAで読み込むには
どのようなプログラムを書けばいいか教えてもらえませんか
ふつーに入出力+文字列処理すれば。つかそれはデータベースじゃなくてデータな。
データベースとよんでも間違いではありません。
CSVのJDBCドライバだって存在するんだし。
このスレの趣旨とまったく正反対な書き込みになるのですが、
どなたか、Javaの課題をくれませんか?
Javaの本読んで一応まだまだ知識浅いですが覚えたつもりです。
しかし何か作ろうと思ってもいい課題が思いつかなくて。
で、とりあえずここでもらった課題でどんどん拡張していければと思います。

ちなみに、アプレット、swingなどのグラフィック関係、
サーブレット、JSPなどJ2EE関係はなしでお願いします。

J2SEで、できる範囲でお願いします。
>>952

設問 (1)
指定されたファイルを読んで、そのファイルに含まれている行数と
文字数(byte数)を表示する。

設問 (1)が簡単すぎるなら・・・。

設問 (2)
指定されたファイルを読んで、そのファイルがプログラミング言語Java
のコンパイル単位として正当なものであるかどうかをチェックする。
Javaのソースファイルを自動整形するソフト作ってみ。
設定とか細かくできなくて良いから。
動作サンプルはこの辺の使ってみれ。
http://sourceforge.net/project/showfiles.php?group_id=2319&release_id=79468
http://www.linux.or.jp/JM/html/GNU_indent/man1/indent.1.html
955952:03/10/02 23:22
>>953
設問1の行数を表示するメソッドがわからない・・・。
文字数ははわかるんですが。

>>954
サンプル落としてみたけど、c(c++?)のソースだったんでさっぱり
つまり、何らかの理由でソースファイルに改行とかインデントが行われてなかったと仮定して
それを見やすくするようにするソフトを作ってみれと言うことでしょうか?

やっぱりまだソフト作るのにははやすぎかな。(;´д`)
956デフォルトの名無しさん:03/10/03 01:02
アプレット作らにゃならんはめになったんだがよ。学校ではツール使ってやってるのね。卑怯にも。
で、オレはそのツールの扱いを覚えるのが面倒っていうか自分でコーディングしたいっていうか
例えばボンクラどもはWebページ一つ作るにしたってHomePageBuilderとかDreamWeaverとかで楽して作ろうとするけど
俺は手書きでやっちゃうような人だからさ。ちょっと困ってるんだけども。
アプレットのレイアウトとかってCSS使えるの?俺は軟弱ものの使うツールには頼らんよ。だからさ。手書きの悲哀っていうか……
そういうのがあるわけだからいろいろ教えてくれ
957956:03/10/03 01:21
すみません。なにか勘違いしていました。
とりあえずこのまましばらく林晴比古先生の本で勉強しますのでなにかあればその時に……
>>956
レイアウトはレイアウトマネージャの仕事だ。
http://www.google.co.jp/search?q=Java+%83%8C%83C%83A%83E%83g%83%7D%83l%81%5B%83W%83%83&ie=Shift_JIS&hl=ja&lr=

標準ライブラリの出来合いのやつから選んで設定するか
気に入らなければ自作も出来る。が、それは初心者にはちと酷かもしれん。

>で、オレはそのツールの扱いを覚えるのが面倒っていうか自分でコーディングしたいっていうか

殊勝な心掛けだがかなり勝手が違うぞ
HTML+CSSの知識は全く役に立たないと思った方がいい。

JavaはGUIがまだ手書きしやすい言語ではあるが。
>>951
それは微妙だな。CSVはアクセスの効率化とか考えてないから、その意味で直接のデータベース性は低い。
オッパイ吸わせてください
961デフォルトの名無しさん:03/10/04 15:59
JAVAの基礎も分からん奴はApplet始める前に
java.langパッケージを徹底的にやれ。
CSV用のJDBCドライバなんてあったのか・・・
>>962
一応、java.sql.Driverクラス実装すれば
相手がリレーショナルデータベースだろうとなんだろうと関係ないのではないか?
準拠しているかどうかのboolean返す関数にfalseでも返すようにしておけば誰が作っても
一応JDBCドライバにはなる。
ちょっと前にXMLファイル用のJDBCドライバあったしね
964デフォルトの名無しさん:03/10/07 00:47
ジャンケンゲームのアプレット作らにゃならんのだがよくわからんのでおまいら教えろ
>>964
難しいな。
グー・チョキ・パーの三つの選択肢があるわけだが、
こういった場合、心理学的には一番「出しやすい手」を選ぶ可能性が高い。
簡単に言えば「ジャンケン開始ボタン」の(物理的な)最近位置にある手を選ぶ可能性が高い。

具体的には画面が

[ゲーム開始]
  [グー]  [パー]  [チョキ]

のようになっていた場合、[グー]を選ぶ確率が高い、ということだ。
これは重要だから覚えておこう。

また、連続でジャンケンさせる場合、人間だと大まかに分けて
「同じ手を連打するタイプ」「常に変えるタイプ」の2種類がいるが、
これを早めに判別して思考ルーチンを切り替える必要がある。

こういったところに気をつければ強いジャンケンゲームが作れるだろう。
健闘を祈る。
皆さん、お久しぶりです。
以前このスレで数当てゲームのヒントを頂いていた者です。
たしか七月下旬頃だったと思うのですが、過去ログを漁ってみてもなぜか自分の書き込みが見あたらず、改めてご挨拶させていただいているしだいで御座います。
じつはあれをアプレット化しなければならなくなってしまい、それなりに困っているのですが、どうすれば(・∀・)のかよくわからないのでお前ら、教えて下さい。
とりあえず本で勉強した限りではウィンドウ部品の使い方、組み込み方などは理解したのですが、そこに以前作ったゲームをいかにして組み込むかとなると困ってしまいます。
単純なゲームとはいえどそれなりに長い&複雑なソースですし、アプレットの際には使えないっぽの仕様満載なので一筋縄ではいきません。
とりあえずゲームの概要を説明しますので、お前らちょっと暇つぶし代わりにサクッと作ってみて下さいっつーかヒント下さい。

・システムが1〜9までの数字をランダムに設定。その数を当てる
・ハズレの場合には正解がそれより大きい値か小さい値かを吐き出す
・正解するまで続ける
・当たったときには"(・∀・)/オメデトウ"
・"もう一度遊ぶ"みたいなボタンがあるといいな
967デフォルトの名無しさん:03/10/07 15:20
>>966
できた。
ここにソース貼るの?
969デフォルトの名無しさん:03/10/07 21:19
>>968
まぢですか?
それじゃあここにコピーしてペーストして下さい
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
970970:03/10/07 21:28
<HTML><BODY><APPLET CODE="Main2.class" WIDTH="600" HEIGHT="400"></APPLET></BODY></HTML>

import java.applet.Applet; import java.awt.*; import java.awt.event.*;
public class Main extends Applet implements ActionListener {
private TextArea ta; private TextField tf; private Game game;
public void init() { ta = new TextArea(); ta.setEditable(false);
tf = new TextField(); tf.addActionListener(this); setLayout(new BorderLayout());
add(ta, BorderLayout.CENTER); add(tf, BorderLayout.SOUTH); game = new Game();
game.createBingoNumber(); ta.append(game.msgStart+game.ls); }
public void actionPerformed(ActionEvent e) { String str;
str = tf.getText(); str = game.challenge(str);
ta.append(str); tf.setText(""); } }
class Game { private int min = 0; private int max = 9; private int bingo;
public String ls = System.getProperty("line.separator");
public String msgStart = "数を当てれや。ヒント:"+min+"以上"+max+"以下";
private String msgLoose = "はずれw";
private String msgMore = "もっとでかい";
private String msgLess = "もっとちぃさい";
private String msgBingo = "(・∀・)/オメデトウ";
private String msgError = "え?それ数なのか?";
public void createBingoNumber() { bingo = (int)(Math.random()*(max-min+1)+min); }
public String challenge(String str) { int i; try {
i = Integer.parseInt(str); } catch (NumberFormatException e) {
return msgError+ls; }
if (bingo == i) { createBingoNumber(); return i+" "+msgBingo+ls+msgStart+ls;
} else if (bingo > i) { return i+" "+msgLoose+" "+msgMore+ls;
} else { return i+" "+msgLoose+" "+msgLess+ls; } } }
971 :03/10/07 21:30
972970:03/10/07 21:32
ごめん。最初の行で示しているHTML内のMain2.classはMain.classの間違い。
あと、「もう一度遊ぶ?」みたいなボタンは無い。永遠に遊べ。な感じ。
インデントはわざと崩した。多分「改行が多すぎます」って怒られるだろうから。
>>972
ちょっと難しいクラス&メソッド使いすぎかなと思われます(ぉ)
もっと簡単にできないんでしょーか
っていうかお前ら、どうやってJavaを勉強しましたか?
難しいと思ってソース読まないなら、一生マスターできない。
何処がわからないか聞けば、誰か教えてくれるかも。
975:03/10/07 22:52
は?バカかお前
ソース読まない?何言ってんの?
まるで白痴だな
977デフォルトの名無しさん:03/10/07 23:11
チン  ☆  マチクタビレター  ☆ 
       チンチン           マチクタビレター ♪
           ♪   ☆ チチン
    ♪                .☆   マチクタビレター
        ☆ チン   〃  ∧_∧  ヽ        / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
          ヽ   ___\(・∀・ ) /\_/ <  >>970の改訂版マダー?
        チン    \_/⊂    つ    ‖    \__________
           / ̄ ̄ ̄ ̄ ̄ ̄ ̄/|     ‖  
        |  ̄  ̄ ̄ ̄ ̄ ̄ ̄:| :|   /|\ 
        |             |/ 

>>966
後出しで、
>ちょっと難しいクラス&メソッド使いすぎかなと
こんなこと言われてもな・・・

使っていいクラスおしえろ

>>978
あなたが初級者だった頃に戻ってプログラミングしてみてください
980デフォルトの名無しさん:03/10/08 02:02
チン  ☆  マチクタビレター  ☆ 
       チンチン           マチクタビレター ♪
           ♪   ☆ チチン
    ♪                .☆   マチクタビレター
        ☆ チン   〃  ∧_∧  ヽ        / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
          ヽ   ___\(・∀・ ) /\_/ <  マダー?
        チン    \_/⊂    つ    ‖    \__________
           / ̄ ̄ ̄ ̄ ̄ ̄ ̄/|     ‖  
        |  ̄  ̄ ̄ ̄ ̄ ̄ ̄:| :|   /|\ 
        |             |/ 


981970:03/10/08 02:26
何をどう変えて欲しいのか具体的な要望があればまた書くかも知れませんが、
これ以上簡単にすれって言われても、Appletだと、ちょっと難しい気がします。

私には難しいです。
>>981
もうすこし簡単なクラス&メソッドのみで構成できないでしょうか
僕の持ってる新Java言語入門という本には載ってないクラス&メソッドばかりなものですから……
というか……あの授業つまんねぇよなぁ……
その本にはアプレットの解説は載ってるのか?
19章 アプレットを作る

っつーかほんとに初歩のことしか書いてないので……
>>970の使ってるようなクラス&メソッドは書いてません
いかにも素人っぽいクラスとかを使って欲しいんですが……
もう寝ます。
っていうかもういいです
お前らはほとんど役に立ちませんでした
つか、>>970のソースって十分基本的なクラスだけで作られてる気がするが。
986デフォルトの名無しさん:03/10/08 04:30
おいらは970じゃないが、
970のソースは十分、初心者チックに書かれているぞ。
それ以上、「初級者だった頃に戻って」ってなったら、
単に汚いor間違ったコードに書き直されるような気が・・・w

内容からすると、5回目くらいの授業で受けそうなレベルだね。
だってあの林晴比古先生の書いた本に載ってねーんだもん
十分プロ仕様だよプロ仕様
もういい、お前らは死ね
つまらん厨房に引っかかった970の無念に乾杯
989デフォルトの名無しさん:03/10/08 10:19
Javaマスターになりたいのですがどうすればなれますか?
>>989
必要なもの:油性マジック

方法:自分の今着ている服に、他人に見えるように「Javaマスター」と書く。
   「Javaマスター」と書かれた服を着て、なるべく人の多い場所を歩く。
次スレ立ちますた
移動してね★
http://pc2.2ch.net/test/read.cgi/tech/1065599192/