• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Sprawdzenie kodu programu Język Java

0 głosów
92 wizyt
pytanie zadane 11 października w Java przez mn130496 Bywalec (2,320 p.)

Witam

Zaczołem naukę języka Java i dostałem za zadanie napisać program w języku java , który będzie obliczał pierwiastki równania kwadratowego. Napisałem taki kod:

package zad2;
import java.util.Scanner;
import static java.lang.Math.*;
public class zadanie2 {
	public static void main(String[] args) {
			int a,b,c,w;
			w=2;
			System.out.println("Podaj współczynnik a ");
			Scanner odczyt = new Scanner(System.in);
			a= odczyt.nextInt();
			System.out.println("współczynnik a wynosi "+a);
			System.out.println("Podaj współczynnik b ");
			b=odczyt.nextInt();
			System.out.println("współczynnik b wynosi "+b);
			System.out.println("Podaj współczynnik c ");
			c=odczyt.nextInt();
			System.out.println("współczynnik c wynosi "+c);
			double delta=pow(b,w) - (4*a*c);
			System.out.println("delta wynosi " +delta);
			if (delta>0) {
				double pier = sqrt(delta);
				double x1=(-b-pier)/(2*a);
				double x2=(-b+pier)/(2*a);
				System.out.println("równanie ma 2 rozwiązania: ");
				System.out.print("x1="+x1);
				System.out.print(" x2="+x2);
			} else if (delta==0) {
				double x0=(-b)/(2*a);
				System.out.println("równanie ma 1 rozwiązanie:");
				System.out.print("x0="+x0);
			} else {
				System.out.print("Brak rozwiązań w zbiorze liczb rzeczywistych");
			}
		}
	}

	

Wszystko działa dobrze tylko wyskakuje mi warnings w 10 linijce o treści  
Resource leak: 'odczyt' is never closed.Czy ktoś może mi pomuc poprawić kod tak aby ten problem zniknoł.

z góry dziękuję

komentarz 17 października przez X3h Mądrala (6,960 p.)
Słownik i długi kod. Za to powinien być ban. Do tego problemu wystarczy tylko jedna linia ta 10. Skaner trzeba zamknąć. A poza tym to jest tylko warning.

2 odpowiedzi

+2 głosów
odpowiedź 11 października przez Tomasz Rogalski Bywalec (2,800 p.)

Poczytaj o try-with-resources, w lini 9 zapisz:  try(odczyt){  i gdzieś tam później zamknij jak już "odczyt" nie bedziesz uzywać:)
                
      

komentarz 11 października przez Tomasz Rogalski Bywalec (2,800 p.)
Jak nie pomoże to powiedz jakiego IDE używasz i jakiej wersji Javy, bo zapis którego użyłem dotyczy javy 9 i wyżej. Przy okazji Netbeans nie pokazuje takiego warningsa :)
0 głosów
odpowiedź 17 października przez Kamil Błaszczyk Użytkownik (800 p.)
Sprawdziłem dokładnie ten sam kod w Intellij i nie czepia się mi o tę linijkę.

Koniecznie zmień kompilator.
komentarz 17 października przez Tomasz Rogalski Bywalec (2,800 p.)
Niekoniecznie masz rację, bardzo prawdopodobne że albo "się" ustawiło albo jakoś jest skonfigurowany inspektor który można włączyć lub wyłączyć aby informował programistę o takich kwiatkach.

Podobne pytania

–1 głos
4 odpowiedzi 145 wizyt
pytanie zadane 25 października w Java przez mn130496 Bywalec (2,320 p.)
0 głosów
2 odpowiedzi 47 wizyt
pytanie zadane 1 dzień temu w Java przez mn130496 Bywalec (2,320 p.)
0 głosów
1 odpowiedź 85 wizyt
pytanie zadane 22 maja 2017 w Java przez anntru Nowicjusz (180 p.)
Porady nie od parady
Nie wiesz jak poprawnie zredagować pytanie lub pragniesz poznać którąś z funkcji forum? Odwiedź podstronę Pomoc (FAQ) dostępną w menu pod ikoną apteczki.FAQ

56,369 zapytań

101,067 odpowiedzi

208,200 komentarzy

28,039 pasjonatów

Przeglądających: 327
Pasjonatów: 10 Gości: 317

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...