【Java編】 学校の宿題は俺にやらせろ 【Java編】
■ このスレッドは過去ログ倉庫に格納されています
0001糞すれクリエータ
NGNGただGUIかんけーはめんどクセーから、放置するぞ!
☆丸投げ歓迎 AGE進行☆
0623デフォルトの名無しさん
NGNG教官から、ハッシュ関数の例を与えられなかったのか?
0624デフォルトの名無しさん
NGNGはい、与えられなかったんです。
0625デフォルトの名無しさん
NGNGじゃ、そこだけは自分で考えろ。
0626デフォルトの名無しさん
NGNG0627デフォルトの名無しさん
NGNGはい、わかりました。がんばってみます。
0628デフォルトの名無しさん
NGNGpublic 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);}
ココから先は、自分でやってくれないかなあ…と淡い期待。ねむいし。
0629デフォルトの名無しさん
NGNGint hashcode = function.hashCode(value);
int index = hashcode/chains.length;
if(chains[index] == null)
chains[index]= new java.util.ArrayList();
chains[index].add(value);
}
0630デフォルトの名無しさん
NGNG本当にありがとうございました。自分ではぜんぜんわからなかったので、本当に助かりました。
またわからないことがあったらここに来るかもしれないのでまたその時はよろしくお願いします。
0631デフォルトの名無しさん
NGNG//どんなレポートがほしいかによるので、それにしたがって自作してください
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();
}
眠いので超テヌキ。
0632デフォルトの名無しさん
NGNG宿題ならこれで充分かモナ。
STEP3:HashFunctionの各種実装作成
…がんばれ。
これでコンパイルとおるかどうかは確認してないので、勘弁ね。
今適当に書いただけだから。
0633デフォルトの名無しさん
NGNG0634デフォルトの名無しさん
NGNGホント)int index = hashcode%chains.length;
ウエエエン。俺はなんて馬鹿なんだ・・・鬱山車脳。
0635デフォルトの名無しさん
NGNGどう変更したらうまくいくのか教えてもらえませんか?以下のプログラムをアプリ
ケーションにしたいのですが、やり方がさっぱりわかりません。
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());
}
0636635
NGNGDimension 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();
} // 打った文字数を増加
0637635
NGNGTextnum = 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) { }
}
0638デフォルトの名無しさん
NGNGJavaソースファイルとHTMLファイルを作りました。
JavaソースファイルをMS−DOSプロンプトでコンパイルしました。
そして、アプレットビューアでHTMLファイルを開きました。
MS−DOSプロンプトに
xxx>appletviewer tt33.html・・・(1)
とやって。
WWWブラウザでtt33.htmlファイルを開くには
MS−DOSプロンプトに
どういうコマンド名を使えばいいのでしょうか?
0639デフォルトの名無しさん
NGNG0640638
NGNGブラウザはIE5.5を使用しているのですが、
コマンド名は>>638の(1)のようないいまわしでは
どう記入すればいいんでしょか?
0641デフォルトの名無しさん
NGNG普通にIEのアドレス欄に
「C:\・・・・\tt33.html」で、いいのじゃ
0642デフォルトの名無しさん
NGNGありがとうございました。
おかげでファイルを開くことができました。
0643デフォルトの名無しさん
NGNGpublic 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を追加すればいいんじゃないのかな。
0644635
NGNGレスありがとうございます。
それはそのプログラムを付け足せば、ほかをいじらなくてもアプリケーションとして
成り立つということでしょうか。できれば、プログラム全体をアプリケーション
に書き換えたいのですが、今現在ネットで調べながら、やってますが、お手上げ状態
です。
0645デフォルトの名無しさん
NGNGそだよ。
このメインだとJVMの停止方法がないので、それは自分で探してくり。
0647デフォルトの名無しさん
NGNG<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アプリケーションではありません」
というメッセージが返ってくるだけで開くことができません。
どうすればよいのですか。
0648デフォルトの名無しさん
NGNGバイナリエディタでも使えば?
0649デフォルトの名無しさん
NGNG「逆コンパイラ Java」でグーグル検索しる。
0650デフォルトの名無しさん
NGNG開くのに成功したら、何が起こることを期待している?。
0651デフォルトの名無しさん
NGNG今さらながらだが、この質問って 初心者スレの
コイツ?↓
471 名前:デフォルトの名無しさん 投稿日:03/08/07 23:26
1度閉じたJavaのソースプログラムを組んだファイルの開き方を教えて下さい。
1度閉じた.classファイルや.javaファイルの開き方がわかりません
0652デフォルトの名無しさん
NGNGJSPで2つのテキストボックスに入力された2つの日付
(例 20030815 のように8桁の数字:String型)
について
1.テキストボックス1に入力された日付と
2に入力された日付を比べて、
時間的に 1<2 が成立したら true
だめなら false を返すメソッドを作成しなさい。
まず比較するまえに、nullチェックをしてください。
2.2つの日付の差をとるメソッドを作成しなさい。
JSPからパッケージを呼び出す方法を取りたいので、
Servletでお願いします。
0653山崎 渉
NGNG│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0654デフォルトの名無しさん
NGNG上記サンプルのコンパイルはできるのですが、実行すると
Exception in thread "main" java.lang.NoClassDefFoundError: ViewFile
と言われます。classpathとかいろいろいじったのですがうまくいきません。
誰か教えて。JREは1.4.1_04です。
0655デフォルトの名無しさん
NGNGすいません。解決しました。
他のスレで聞いちゃいました。。。
0656デフォルトの名無しさん
NGNG削除をする際の情報として、「削除されるのは親からみて左右どちらの子か?」と
「削除対象はいくつの子を持っているか?」を知りたいんですが
「親から見て左右どちらの子が削除されたか」を得る方法がわかりません
Cでやった時は、親のメンバleftもしくはrightへのポインタを持っていたのですが
こういうことはJavaでは無理でしょうか?
leftの指す要素へのポインタではなくて、そのleftそのものを指したいんです。
つまりCで言うところのダブルポインタってやつでしょうか?
0657デフォルトの名無しさん
NGNGはぐ、はぐはぐはぐ
はぐはぐ?はぐはぐはぐ
はぐはぐはぐ・・・はぐw
0658デフォルトの名無しさん
NGNGCM見てないやつはわかんねーよ
おれは、笑ったけどな
カゴメ、野菜乳酸菌飲料「Hug Hug(はぐはぐ)」発売
カゴメ(社長:喜岡浩二)は、野菜乳酸菌飲料『Hug Hug(はぐはぐ)』を、4月22日(火)より東北、関東・東海・北陸地区にて新発売いたします
0659デフォルトの名無しさん
NGNG文面からするとCの理解も間違ってるような..
JAVAでもできるけどソース無いと間違いを指摘できないよ。
0660デフォルトの名無しさん
NGNG0661デフォルトの名無しさん
NGNGpublic node left;
public node right;
}
0662デフォルトの名無しさん
NGNG書いたらいいです
0663デフォルトの名無しさん
NGNGpublic node right
の意味がわかりません
0664デフォルトの名無しさん
NGNGparentNode.left = new node();
parentNode.right = new node();
parentNode.left = null;
0665デフォルトの名無しさん
NGNG0666デフォルトの名無しさん
NGNG0667デフォルトの名無しさん
NGNGString [] 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のみ)がだぶらないようにということで作っているのですが
うまくいきません・・・
どのように書けば簡潔になりますでしょうか、お願いします
0668デフォルトの名無しさん
NGNG(1) 結果の途中を省略するな。
(2) 問題をそのまま書け。
0669デフォルトの名無しさん
NGNG大変失敬いたしました,長くなってしまいますが
(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の内容は全て表示しなさい
っていう担当御手製のプリントの一文です
0670デフォルトの名無しさん
NGNGfor (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 + "]");
}
0671デフォルトの名無しさん
NGNGfor (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 + "]");
}
0672デフォルトの名無しさん
NGNGの御仁ありがとうございます!
うまくいきました
自分がへたれなのでfor文で回すときにi++ や j++
などの後付けでしか物考えれないからだめなんですね・・・
参考になりました。
0673デフォルトの名無しさん
NGNGまあがんがれ
0674デフォルトの名無しさん
NGNGList list = Arrays.asList(str1);
for(int i=0;i<str2.length;i++)
System.out.println((list.contains(str2[i])?"OK":"NG")+":str2["+i+"]"));
4行ですね。
0675デフォルトの名無しさん
NGNGなるほど。 一歩進んで効率を考えるなら、
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+"]"));
はどうよ。
■ このスレッドは過去ログ倉庫に格納されています