Pierwiastek liczby

0

Witam , zaczynam naukę Javy i chciałbym się dowiedzieć czy napisany przeze mnie program na sprawdzanie czy liczba ma pierwiastek mozna latwiej napisac , czy tak jest ok?

int b;
    	 boolean d=false;
		 Scanner odczyt =new Scanner(System.in);
		 b=odczyt.nextInt();
    	
    	 for (int k=1;k<=10;k++) {
        	 int c=k*k;
        	
        	 if(b==c) {
        		 System.out.println("liczba ma pierwiastek");
        		d=true;
        	 }
    	 }
        	 if (d==false) {
        		 System.out.println("liczba nie ma pierwiastka");
        	 
         }
		
         
0
  1. użyj formatera kodu (np. w Eclipse): http://www.eclipse.org/pdt/help/html/formatting_code.htm
  2. zamień:

kod

for (int k=1;k<=10;k++) {

na

for (int k=1; k <= b; k++) {

kod

System.out.println("liczba ma pierwiastek");

na

System.out.printf("liczba %d ma pierwiastek: %d%n", b, c);

Kod

if (d==false) {

na

if (!d) {
0

O dzięki wielkie nie wiedziałem,że można tak łatwo formatować . Rozbudowałem trochę program czy teraz tez jest ok ?

int b;
		boolean d = false;
		boolean e = false;
		Scanner odczyt = new Scanner(System.in);
		b = odczyt.nextInt();

		int[] a = new int[15];
		int t = 1;

		for (int i = 2; i < 15; i++) {

			a[i - 2] = t;
			t = t + i;
		}
		for (int j = 0; j < 13; j++) {

			if (b == a[j]) {
				System.out.println("jest liczbą trójkątną");
				d = true;
			}
		}
		if (!d) {
			System.out.println("nie jest liczbą trójkątną");
		}

		for (int k = 1; k <= 10; k++) {
			int c = k * k;
			if (b == c) {
				System.out.printf("liczba %d ma pierwiastek: %d", b,k);
				e = true;
			}
		}
		if (!e) {
			System.out.println("nie ma pierwiastka");
		}

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