• 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
96 wizyt
pytanie zadane 11 października 2018 w Java przez mn130496 Bywalec (2,630 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 2018 przez X3h Dyskutant (9,220 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 2018 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 2018 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 2018 przez Kamil Błaszczyk Obywatel (1,400 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 2018 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 161 wizyt
pytanie zadane 25 października 2018 w Java przez mn130496 Bywalec (2,630 p.)
0 głosów
2 odpowiedzi 68 wizyt
pytanie zadane 13 listopada 2018 w Java przez mn130496 Bywalec (2,630 p.)
0 głosów
1 odpowiedź 57 wizyt
pytanie zadane 6 dni temu w Java przez mn130496 Bywalec (2,630 p.)
Porady nie od parady
Wynikowy wygląd pytania, odpowiedzi czy komentarza, różni się od tego zaprezentowanego w edytorze postów. Stosuj więc funkcję Podgląd posta znajdującą się pod edytorem, aby upewnić się, czy na pewno ostateczny rezultat ci odpowiada.Podgląd posta

59,026 zapytań

104,412 odpowiedzi

215,974 komentarzy

31,421 pasjonatów

Przeglądających: 273
Pasjonatów: 5 Gości: 268

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.

...