Wątek przeniesiony 2014-02-01 16:02 z Java przez bogdans.

W jaki sposób rozpocząć od nowa program w czasie bieżącego wykonywania?

0

Witam,
Tak jak w temacie. Chciałbym, aby program po złym podanym wejściu z klawiatury wykonał się jeszcze raz.

import java.util.ArrayList;
import java.util.Scanner;


public class Plakatowanie {
	
	ArrayList<Integer> wysokosci = new ArrayList<Integer>();
	
	public Plakatowanie()
	{
		odczyt();
	}
	public void odczyt()
	{
		Scanner in = new Scanner(System.in);
		int iloscProb = in.nextInt();
		if(iloscProb < 1 && iloscProb > 250000)
			{
				new Plakatowanie();
			}
		else
		{
			int i = 1;
			while(iloscProb > 0)
			{
				int liczba = Integer.parseInt(in.next());
				
				if(liczba < 1 && liczba > 1000000000)
				{
					new Plakatowanie();
				}
				else
				{
					if(i%2 == 0)
					wysokosci.add(liczba);
				}
				if(i%2 == 0)
				iloscProb--;
				i++;
			}
		}
		in.close();
		for(Integer wys : wysokosci)
		{
			System.out.print(wys+",");
		}
	}
	public static void main(String[] args) {
		
		new Plakatowanie();
	}

}

Mam coś takiego.

0

Dzień dobry.
Obawiam sie, że warunek w tej pętli:

if(iloscProb < 1 && iloscProb > 250000)

oraz w tej:

if(liczba < 1 && liczba > 1000000000)

nigdy nie będzie spełniony. Zmieniłbym && na ||.

0

A ja bym zmienił na

        if((iloscProb >= 1) && (iloscProb <= 250000))
            {
                new Plakatowanie();
            }
        else...
0

Nie wiem o czym ja myślałem pisząc te warunki :P
Dzięki wielkie ;))

1 użytkowników online, w tym zalogowanych: 0, gości: 1