Wyświetlanie zawartości zmiennych w ifie

0
public class pliki
{

	public static void main(String[] args)
	throws Exception{
		
		Scanner read = new Scanner(new File("D:\\pliki java\\plik.txt"));
		
		PrintWriter printer = new PrintWriter("D:\\pliki java\\plik.max.txt");
		
		String name = null;
		String surname = null;
		int age = 0;
		float efficacy_previous = 0;
		float efficacy_current = 0;
		
		while(read.hasNext())
		{
			name = read.next();
			surname = read.next();
			age = read.nextInt();
			efficacy_current = read.nextFloat();
			
			if((name.length() > 3) && (surname.substring(surname.length() - 3,surname.length() - 1).equals("ski")) && (efficacy_current > efficacy_previous))
			{
				System.out.print(name + "" + surname + "" + age + "" + efficacy_current);
			}
		}
	}

Dlaczego mimo, że w pliku read mam takie dane jak Marcin Ziolkowski 33 34, czyli spełnia dane z ifa i mimo to w tym ifie te dane się nie wyświetlają ?

1

bo if nie jest spelniony. commentuj warunki dopoki nie wejdziesz w tego ifa. Wtedy bedziesz wiedziec ktory warunek Ci psuje ifa. Popraw go i bedzie dzialac.

1

Albo postaw sobie breakpointa na ifie, odpal w debugu i jak program zatrzyma sie na breakpoincie to w okienku Expressions sprawdzaj sobie wartosci tych mini-warunkow z ifa;)

0

właśnie zauważyłem, że z substringiem jest coś nie tak.
Dlaczego tym poleceniem:

printer.println("test")

nie zapisuje mi nic do tego pliku ?

0

No nie wiem, moze flusha trzeba zrobic? ;)

0

dobra naprowadziłeś mnie na błąd , po zamknięciu pliku jest w pliku ta zawartość wpisana przez print.

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