Java – how to allocate variables defined in if else statements

I need to create content that can find the current hour in GMT and convert it to EST

When I try to compile and run the program, I receive this error: currenthousest cannot be resolved to a variable I think my problem is somewhere in the if else statement because I assigned variables to errors or something else

// Obtain total milliseconds since midnight,Jan 1,1970
long totalMilliseconds = System.currentTimeMillis(); 

// Seconds
long totalSeconds = totalMilliseconds / 1000;  
long currentSecond = totalSeconds % 60;

// Minutes
long totalMinutes = totalSeconds / 60;
long currentMinute = totalMinutes % 60;

// Hours
long totalHours = totalMinutes / 60;
long currentHour = totalHours % 24; 

// Read in EST offset
long offSetAdded = currentHour - 5;

// If the time is negative make it a positive
if (offSetAdded > 0) {
 long currentHourEST = offSetAdded * -1;
} else {
 long currentHourEST = offSetAdded;
}

// Display time
System.out.println("The current time is " + currentHourEST + ":" + currentMinute + ":" + currentSecond);

System.out.println("Current time in GMT is " + currentHour + ":" + currentMinute + ":" + currentSecond);

I'm using the if else statement to multiply offsetadded by - 1 so that the hours become positive if you subtract 5 from me, making it easier for people to see the hours If offsetadded is positive, it will print the current exactly minus 5

Solution

The variables defined in the if block are limited to the if block. You can't use variables outside the if block at all

If you want to use a variable outside an if block, just declare it outside the block

// If the time is negative make it a positive
long currentHourEST;
if (offSetAdded > 0) {
 currentHourEST = offSetAdded * -1;
} else {
 currentHourEST = offSetAdded;
}
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>