重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

こんにちわ。
Java初心者です。
Vector クラスとrunnable インタフェースを実装したスレッドを用いたプログラムを作成中で、自分でも中身が分からなくなってきたうえにMainメソッドの位置が分からなくなってしまいました;
名前の表示が実行できるようにどなたか修正をお願いいたします。
現段階のソースは以下です。

import java.util.*;

public class NameList implements Runnable{
private Thread t = null;
private Vector list = new Vector();

public void Name(){
List<String> list = new ArrayList<String>();
list.add("Ayane");
list.add("Akiyo");
list.add("Asami");
list.add("Hanabi");
list.add("Meg");
list.add("Michiru");
list.add("Mika");
list.add("Reina");
}

public void run(){
while (true){
System.out.println(list.get(0));
try{
Thread.sleep(1000);
} catch (InterruptedException e){
break;
}
}
}

public void start(){
if(t == null){
t = new Thread(this);
t.start();
}
}
}

A 回答 (2件)

package thread_test;



import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;


public class thread_test implements Runnable{

Vector <String> list = new Vector<String>();
Thread th = new Thread(this);
public thread_test() {
list.add("Ayane");
list.add("Akiyo");
list.add("Asami");
list.add("Hanabi");
list.add("Meg");
list.add("Michiru");
list.add("Mika");
list.add("Reina");
th.start();

}

/**
* @param args the command line arguments
*/
public static void main(String[] args) {

new thread_test();
// TODO code application logic here
}

public void run() {

for(int i=0;i<list.size();++i){
System.out.println(list.get(i));
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {
Logger.getLogger(thread_test.class.getName()).log(Level.SEVERE, null, ex);
}
}
}

}
    • good
    • 0

Runnableを使わないと


package thread_test;

import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;

public class thread_test1 extends Thread{

Vector <String> list = new Vector<String>();
public thread_test1() {
list.add("Ayane");
list.add("Akiyo");
list.add("Asami");
list.add("Hanabi");
list.add("Meg");
list.add("Michiru");
list.add("Mika");
list.add("Reina");
}


/**
* @param args the command line arguments
*/
public static void main(String[] args) {

new thread_test1().start();
// TODO code application logic here
}

@Override
public void run() {
for (int i = 0; i < list.size(); ++i) {
System.out.println(list.get(i));
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {
Logger.getLogger(thread_test.class.getName()).log(Level.SEVERE, null, ex);
}
}
}

}
    • good
    • 0
この回答へのお礼

ありがとうございます!
表示させることができました。

お礼日時:2009/12/03 10:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!