kompilator nie widzi zmiennych

0

Witam,

Przy próbie kompilacji wyskakuje tego typu błąd do każdej zmiennej:

symbol:   variable rok
  location: class data2
data2.java:25: error: cannot find symbol

nie wiem w czym leży problem, proszę o pomoc

oto kod:

import java.util.Scanner;

public class data2{
	public static void main(String args[]){
		System.out.print("podaj date w formacie dd.mm.rrrr: ");
		Scanner input = new Scanner(System.in);
		String str = input.next();
		input.close();
		boolean isDate = str.length()==10;
		if(isDate){
			isDate = str.charAt(2)=='.'&&
					 str.charAt(5)=='.';
		}
	
		if(isDate){
			try {
			int dzien = Integer.parseInt(str.substring(0,2));
			int miesiac = Integer.parseInt(str.substring(3,5));
			int rok = Integer.parseInt(str.substring(6));
			} catch (NumberFormatException e) {
				isDate=false;
			}
		}
		if(isDate){
			if(rok<2001||rok>2100)
				isDate=false;
			if((miesiac==1||miesiac==3||miesiac==5||miesiac==7||miesiac==8||miesiac==10||miesiac==12)&&(dzien>31||dzien<1))
				isDate=false;
			if((miesiac==4||miesiac==6||miesiac==9||miesiac==11)&&(dzien>30||dzien<0))
				isDate=false;
			if((miesiac==2)&&(((rok%4==0)&&(rok%100!=0))||(rok%400==0))&&(dzien>29||dzien<1))
				isDate=false;
			else
				if(miesiac==2&&(dzien>28||dzien<1))
					isDate=false;
		}
		if(isDate)
			System.out.println("Podana data jest prawidlowa");
		else
			System.out.println("Podana data jest nieprawidlowa");
	}
}

0

Wszystkie zmienne które zdefiniujesz w nawiasach {} będą widoczne tylko w nich. Czyli zmienną rok musisz zdefiniować w ciele funkcji.

0

Dziękuję :D

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