ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Java超入門の会mixiコミュのappletを使ったarray

  • mixiチェック
  • このエントリーをはてなブックマークに追加
ランダムユニークナンバーをarrayに代入し、長方形の高さが全て違う様に表記したいのですが、全く表記出来ません。
おそらく、arrayに代入する時点までは大丈夫だとは思うのですが、どのようにしたら長方形に高さを代入してappletで表記出来るのでしょうか?
よろしくお願いします。



import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.util.Random;
import java.io.*;

public class GUI extends Applet
{

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


Button button = new Button("Sort Me");
Label text = new Label("Pink: Selection Sort" + "\n" + "Green: Inseration Sort");

int[] store = new int[20];


public static int[] findValue(int [] store){
int rand;
for (int i = 0; i < store.length; i ++){
do{
rand = (int)(Math.random()*21)+10;
}
while(doesExists(rand, store, i));
store[i] = rand;
}
return store;
}

private static boolean doesExists(int rand, int[] arr, int i){
if(i != 0){
for(int j =0; j < i; j++){
if(rand == arr[j]){
return true;
}
}
}
return false;
}

int Counter = 0;
int xScale = 0;
public void displayRectangles(Graphics g)
{
if(Counter < 20)
{
xScale += 15;
int x = 80 + xScale;
int H = store[Counter];

g.setColor(Color.pink);
g.fillRect(x, (140 - H), 10, H);

g.setColor(Color.green);
g.fillRect(x, 140, 10, H);
Counter++;
}
}

public void init()
{
setSize(500, 350);
setBackground(Color.WHITE);
add(button);
add(text);
button.addActionListener(new buttonHandler());
}

int c = 0;
public void paint(Graphics g)
{

c++;
displayRectangles(g);

if(c < 20)
{
repaint();
}
}
int count = 0;
class buttonHandler implements ActionListener{
public void actionPerformed(ActionEvent e){
count ++;
button.setLabel("pass " + count);
if(e.getActionCommand()=="pass")
repaint();

}
}
}

コメント(5)

私も超初心者なので、既知のことだったらごめんなさい。
editorのGeanyでもって上記リストをコンパイルしようとしたら、public static void mainがないと怒られました。
HALさん
私も詳しくは説明出来ませんが、appletを使う場合、public static void mainが無くてもプログライングは動きます。
上記のプログラム自体、エラーが出てしまうので動きはしないのですが、、、
他のサイトで
public void init()
の中に
store = findValue(store);
を入れると長方形が出る事を教えてもらいました。
私はeditor Geanyは良く知らないのですが、いつもjGRASPを使っています。
GUI.javaというファイル名にしてコンパイルには成功しました。
しかし、実行すると、”Exeception in thread "main" Java.lang.NoSuchMethodError:main"
というメッセージが出ます。

メッセージで検索してみたら、
(2) Exception in thread "main" java.lang.NoSuchMethodError: main
と出るとき

このメッセージが表示されるのは、実行時に指定したクラスの中に
mainメソッドが含まれていないときです。

mainメソッドを含んでいるクラスを指定してください。

もし、指定したクラスに mainメソッドが含まれているのならば、
ソースファイル(.javaファイル)の中身を確認します。確認する場所は、
mainメソッドの定義部分です。

public static void main(String[] args)
もしくは
public static void main(String args[])

のような形になっているでしょうか。
※ argsは別の名前でもかまいません
"static"というキーワードが抜けていたり、"String[] args"や
"String args[]"を "String args"となっていないでしょうか。

ということでした。appletの場合は当てはまらないのかもしれませんが、ご参考まで。
appletはhtml文の中から呼び出さなければなりませんね。
http://www.javadrive.jp/applet/basic/index2.html
HALさん
ありがとうがざいます。
宿題がほとんどappletを使ったものなので、先生自身がhtmlの部分を作っています。
リンク、ありがとうございます。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Java超入門の会mixi 更新情報

Java超入門の会mixiのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング