Java a neuzavřený scanner

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Odpovědět
Marethyu_1
Level 1
Level 1
Příspěvky: 94
Registrován: 02 kvě 2012 13:27

Java a neuzavřený scanner

Příspěvek od Marethyu_1 »

Ahoj, mám takový problém, není to sice nic světoborného a ani kvůli tomu ten program nepadá, ale eclipse mi tu toho pořád vyhazuje vykřičník a nevím co s tím...

Kód: Vybrat vše

import java.util.*;

public class Ppa1_cv04_2_A14B0579P {
	public static void main(String [] args) {
		Scanner sc = new Scanner(System.in);
		sc.useLocale(Locale.US);
		System.out.print("Zadej realne cislo: ");
		double x = sc.nextDouble();
		System.out.println("---Vysledky---");
		
		if (x == 0) {
			System.out.println("Vstup = 0.0");
		}
		else if (x > 0) {
			System.out.println("10^" + x + " = " + Math.pow(10,x));
		}
		else {
		    System.out.println(+ Math.abs(x) + " odmocnina z 10 = " + (double) Math.pow(10,1/(Math.abs(x))));
		}
	}
}
Ten vykřičníček je u řádky s tím scannrem: ´sc´ is never closed...jak to mám zavřít aniž bych nějak ovlivnil zbytek? protože todle není jedinej program u kterého to vyhazuje :/

PS: už je to odevzdaný...takže kopírování je zbytečné, validátor vám to vyhodí jako shodnou úlohu...
Matiseli
Level 2.5
Level 2.5
Příspěvky: 381
Registrován: 24 čer 2014 19:30
Bydliště: Podíváte-li se roku 2023 na oblohu, tak na té planetě více v pravo

Re: Java a neuzavřený scanner

Příspěvek od Matiseli »

Přesně tento problém jsem řešil já. Odpověď zní: Scanner neuzavírat. Vyvaruješ se tím pozdějším výjimkám (po uzavření se mi i ostatní Scannery divně chovaly). Pokud chceš smazat onen objekt, nastav scanner na hodnotu null.
Varování od Eclipse ignoruj.
Odpovědět

Zpět na „Programování a tvorba webu“