Программа создает файлы. Не работает новый поток. Почему? - Java

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток! Вот код:
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Random;

public class Virus implements Runnable{
    static String s,all="", b;      
    static Random r=new Random();
    Thread t;
    public static void main(String[] args) {    
        for (int o=0;o<5;o++){
        //while(true){
            b="";all="";
        for(int i=1; i<=10; i++){int a=r.nextInt(62)+1;
        switch (a){
        case 1: s="a";all+=s;break;case 2: s="b";all+=s;break;case 3: s="c";all+=s;break;case 4: s="d";all+=s;break;
        case 5: s="e";all+=s;break;case 6: s="f";all+=s;break;case 7: s="g";all+=s;break;case 8: s="h";all+=s;break;
        case 9: s="i";all+=s;break;case 10: s="j";all+=s;break;case 11: s="k";all+=s;break;case 12: s="l";all+=s;break;
        case 13: s="m";all+=s;break;case 14: s="n";all+=s;break;case 15: s="o";all+=s;break;case 16: s="p";all+=s;break;
        case 17: s="q";all+=s;break;case 18: s="r";all+=s;break;case 19: s="s";all+=s;break;case 20: s="t";all+=s;break;
        case 21: s="u";all+=s;break;case 22: s="v";all+=s;break;case 23: s="w";all+=s;break;case 24: s="x";all+=s;break;
        case 25: s="y";all+=s;break;case 26: s="z";all+=s;break;case 27: s="A";all+=s;break;case 28: s="B";all+=s;break;
        case 29: s="C";all+=s;break;case 30: s="D";all+=s;break;case 31: s="E";all+=s;break;case 32: s="F";all+=s;break;
        case 33: s="G";all+=s;break;case 34: s="H";all+=s;break;case 35: s="I";all+=s;break;case 36: s="J";all+=s;break;
        case 37: s="K";all+=s;break;case 38: s="L";all+=s;break;case 39: s="M";all+=s;break;case 40: s="N";all+=s;break;
        case 41: s="O";all+=s;break;case 42: s="P";all+=s;break;case 43: s="Q";all+=s;break;case 44: s="R";all+=s;break;
        case 45: s="S";all+=s;break;case 46: s="T";all+=s;break;case 47: s="U";all+=s;break;case 48: s="V";all+=s;break;
        case 49: s="W";all+=s;break;case 50: s="X";all+=s;break;case 51: s="Y";all+=s;break;case 52: s="Z";all+=s;break;
        case 53: s="0";all+=s;break;case 54: s="1";all+=s;break;case 55: s="2";all+=s;break;case 56: s="3";all+=s;break;
        case 57: s="4";all+=s;break;case 58: s="5";all+=s;break;case 59: s="6";all+=s;break;case 60: s="7";all+=s;break;
        case 61: s="8";all+=s;break;case 62: s="9";all+=s;break;
    }       
    }b=all;
        for(int i=1; i<=2000; i++){int a=r.nextInt(62)+1;
        switch (a){
        case 1: s="a";all+=s;break;case 2: s="b";all+=s;break;case 3: s="c";all+=s;break;case 4: s="d";all+=s;break;
        case 5: s="e";all+=s;break;case 6: s="f";all+=s;break;case 7: s="g";all+=s;break;case 8: s="h";all+=s;break;
        case 9: s="i";all+=s;break;case 10: s="j";all+=s;break;case 11: s="k";all+=s;break;case 12: s="l";all+=s;break;
        case 13: s="m";all+=s;break;case 14: s="n";all+=s;break;case 15: s="o";all+=s;break;case 16: s="p";all+=s;break;
        case 17: s="q";all+=s;break;case 18: s="r";all+=s;break;case 19: s="s";all+=s;break;case 20: s="t";all+=s;break;
        case 21: s="u";all+=s;break;case 22: s="v";all+=s;break;case 23: s="w";all+=s;break;case 24: s="x";all+=s;break;
        case 25: s="y";all+=s;break;case 26: s="z";all+=s;break;case 27: s="A";all+=s;break;case 28: s="B";all+=s;break;
        case 29: s="C";all+=s;break;case 30: s="D";all+=s;break;case 31: s="E";all+=s;break;case 32: s="F";all+=s;break;
        case 33: s="G";all+=s;break;case 34: s="H";all+=s;break;case 35: s="I";all+=s;break;case 36: s="J";all+=s;break;
        case 37: s="K";all+=s;break;case 38: s="L";all+=s;break;case 39: s="M";all+=s;break;case 40: s="N";all+=s;break;
        case 41: s="O";all+=s;break;case 42: s="P";all+=s;break;case 43: s="Q";all+=s;break;case 44: s="R";all+=s;break;
        case 45: s="S";all+=s;break;case 46: s="T";all+=s;break;case 47: s="U";all+=s;break;case 48: s="V";all+=s;break;
        case 49: s="W";all+=s;break;case 50: s="X";all+=s;break;case 51: s="Y";all+=s;break;case 52: s="Z";all+=s;break;
        case 53: s="0";all+=s;break;case 54: s="1";all+=s;break;case 55: s="2";all+=s;break;case 56: s="3";all+=s;break;
        case 57: s="4";all+=s;break;case 58: s="5";all+=s;break;case 59: s="6";all+=s;break;case 60: s="7";all+=s;break;
        case 61: s="8";all+=s;break;case 62: s="9";all+=s;break;
    }       
    }
        write(b,all);}
    }
    public static void write(String name, String text) {
        File file = new File(name+".txt");
     
        try {
            if(!file.exists()){
                file.createNewFile();
            }
 
            PrintWriter out=new PrintWriter(file);
     
            try {
                out.print(text);
            } finally {
                out.close();
            }
        } catch(IOException e) {
            throw new RuntimeException(e);}
        }
        public Virus(){
            if(t==null){
                t=new Thread(this);
            }
            t.start();run();
        }
        @Override
        public void run() {System.out.println("БЛа");
            String bb,al="",ss;
            if(t!=null){System.out.println("БЛа");
            for (int op=0;op<5;op++){
            System.out.println("БЛа");
            //while(true){
                bb="";al="";ss="";
            for(int i=1; i<=10; i++){int a=r.nextInt(62)+1;
            switch (a){
            case 1: ss="a";al+=ss;break;case 2: ss="b";al+=s;break;case 3: ss="c";al+=s;break;case 4: ss="d";al+=ss;break;
            case 5: ss="e";al+=ss;break;case 6: ss="f";al+=ss;break;case 7: ss="g";al+=ss;break;case 8: ss="h";al+=ss;break;
            case 9: ss="i";al+=ss;break;case 10: ss="j";al+=ss;break;case 11: ss="k";al+=ss;break;case 12: ss="l";al+=ss;break;
            case 13: ss="m";al+=ss;break;case 14: ss="n";al+=ss;break;case 15: ss="o";al+=ss;break;case 16: ss="p";al+=ss;break;
            case 17: ss="q";al+=ss;break;case 18: ss="r";al+=ss;break;case 19: ss="s";al+=ss;break;case 20: ss="t";al+=ss;break;
            case 21: ss="u";al+=ss;break;case 22: ss="v";al+=ss;break;case 23: ss="w";al+=ss;break;case 24: ss="x";al+=ss;break;
            case 25: ss="y";al+=ss;break;case 26: ss="z";al+=ss;break;case 27: ss="A";al+=ss;break;case 28: ss="B";al+=ss;break;
            case 29: ss="C";al+=ss;break;case 30: ss="D";al+=ss;break;case 31: ss="E";al+=ss;break;case 32: ss="F";al+=ss;break;
            case 33: ss="G";al+=ss;break;case 34: ss="H";al+=ss;break;case 35: ss="I";al+=ss;break;case 36: ss="J";al+=ss;break;
            case 37: ss="K";al+=ss;break;case 38: ss="L";al+=ss;break;case 39: ss="M";al+=ss;break;case 40: ss="N";al+=ss;break;
            case 41: ss="O";al+=ss;break;case 42: ss="P";al+=ss;break;case 43: ss="Q";al+=ss;break;case 44: ss="R";al+=ss;break;
            case 45: ss="S";al+=ss;break;case 46: ss="T";al+=ss;break;case 47: ss="U";al+=ss;break;case 48: ss="V";al+=ss;break;
            case 49: ss="W";al+=ss;break;case 50: ss="X";al+=ss;break;case 51: ss="Y";al+=ss;break;case 52: ss="Z";al+=ss;break;
            case 53: ss="0";al+=ss;break;case 54: ss="1";al+=ss;break;case 55: ss="2";al+=ss;break;case 56: ss="3";al+=ss;break;
            case 57: ss="4";al+=ss;break;case 58: ss="5";al+=ss;break;case 59: ss="6";al+=ss;break;case 60: ss="7";al+=ss;break;
            case 61: ss="8";al+=ss;break;case 62: ss="9";al+=ss;break;
        }       
        }bb=al;
        for(int i=1; i<=2000; i++){int a=r.nextInt(62)+1;
        switch (a){
        case 1: ss="a";al+=ss;break;case 2: ss="b";al+=s;break;case 3: ss="c";al+=s;break;case 4: ss="d";al+=ss;break;
        case 5: ss="e";al+=ss;break;case 6: ss="f";al+=ss;break;case 7: ss="g";al+=ss;break;case 8: ss="h";al+=ss;break;
        case 9: ss="i";al+=ss;break;case 10: ss="j";al+=ss;break;case 11: ss="k";al+=ss;break;case 12: ss="l";al+=ss;break;
        case 13: ss="m";al+=ss;break;case 14: ss="n";al+=ss;break;case 15: ss="o";al+=ss;break;case 16: ss="p";al+=ss;break;
        case 17: ss="q";al+=ss;break;case 18: ss="r";al+=ss;break;case 19: ss="s";al+=ss;break;case 20: ss="t";al+=ss;break;
        case 21: ss="u";al+=ss;break;case 22: ss="v";al+=ss;break;case 23: ss="w";al+=ss;break;case 24: ss="x";al+=ss;break;
        case 25: ss="y";al+=ss;break;case 26: ss="z";al+=ss;break;case 27: ss="A";al+=ss;break;case 28: ss="B";al+=ss;break;
        case 29: ss="C";al+=ss;break;case 30: ss="D";al+=ss;break;case 31: ss="E";al+=ss;break;case 32: ss="F";al+=ss;break;
        case 33: ss="G";al+=ss;break;case 34: ss="H";al+=ss;break;case 35: ss="I";al+=ss;break;case 36: ss="J";al+=ss;break;
        case 37: ss="K";al+=ss;break;case 38: ss="L";al+=ss;break;case 39: ss="M";al+=ss;break;case 40: ss="N";al+=ss;break;
        case 41: ss="O";al+=ss;break;case 42: ss="P";al+=ss;break;case 43: ss="Q";al+=ss;break;case 44: ss="R";al+=ss;break;
        case 45: ss="S";al+=ss;break;case 46: ss="T";al+=ss;break;case 47: ss="U";al+=ss;break;case 48: ss="V";al+=ss;break;
        case 49: ss="W";al+=ss;break;case 50: ss="X";al+=ss;break;case 51: ss="Y";al+=ss;break;case 52: ss="Z";al+=ss;break;
        case 53: ss="0";al+=ss;break;case 54: ss="1";al+=ss;break;case 55: ss="2";al+=ss;break;case 56: ss="3";al+=ss;break;
        case 57: ss="4";al+=ss;break;case 58: ss="5";al+=ss;break;case 59: ss="6";al+=ss;break;case 60: ss="7";al+=ss;break;
        case 61: ss="8";al+=ss;break;case 62: ss="9";al+=ss;break;
    }       
    }
            File fille = new File(bb+".txt");
             
            try {
                if(!fille.exists()){
                    fille.createNewFile();
                }
                PrintWriter outt=new PrintWriter(fille);
         
                try {
                    outt.print(al);
                } finally {
                    outt.close();
                }
            } catch(IOException e) {
                throw new RuntimeException(e);}}    
        }
        }
}
Как я уже написал в названии темы, эта программа создает тестовые файлы со случайным названием и содержанием. Есть поток t, который делает то же самое, одновременно с первым (по идее). Но этого не происходит. Почему?

Решение задачи: «Программа создает файлы. Не работает новый поток. Почему?»

textual
Листинг программы
t=new Thread(this);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4 из 5