public class Time {
public int Minutes, Hours, TotalMin;
private String correctedMinutes ;
public String valid, TimeofDay;
public static int error;
//-----------------------------------------------------------------
// Sets up the time by defining its minutes and hours
//-----------------------------------------------------------------
public Time(int hours, int minutes)
{ if (minutes>59|| minutes<0|| hours>23 || hours<0)
{ Hours=0;
Minutes=0;
error=1;}
else
{Minutes=minutes;
Hours=hours;
error=0;}
}
public String Time2(int hours, int minutes, String timeofday) {
if (Hours>12 || Hours<0)
return "This is not a valid number of hours";
Hours=0;
if (minutes>59|| minutes<0)
{Minutes=0;
error=1;
return "This is not a valid number of minutes";}
if (!timeofday.equals ("AM") || !timeofday.equals ("PM"))
{TimeofDay.equals("AM");
return "You incorrectly enetered AM or PM";}
else
{ Hours=hours;
Minutes=minutes;
return "";}
}
//----------------------------------------------------------
//
//
//-----------------------------------------------------------
public int addMinutes (int hours, int minutes, int elapsedMin)
{
if (elapsedMin<0)
return error=1;
else {
TotalMin=elapsedMin+Minutes;
return error=0;}
}{
while (TotalMin>60)
{TotalMin=TotalMin-60;
Hours=Hours+1; if (Hours==25)
{ Hours=0;}
Minutes=TotalMin;
}
}
//----------------------------------------------------------
//
//
//-----------------------------------------------------------
public String toString()
{
String correctedMinutes = String.format("%02d", Minutes);
return (Hours+ ":" + correctedMinutes + TimeofDay); }
테스트 클래스NullPointerException이
public class TimeTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
int minutes, hours, elapsedMin;
String timeofday, startTime;
Scanner scan=new Scanner (System.in);
System.out.println("Please enter starting hour (1-12):");
hours=scan.nextInt();
System.out.println("Please enter starting minute (0-59):");
minutes=scan.nextInt();
System.out.println("Please enter AM or PM:");
timeofday=scan.next();
Time classtime = new Time (hours, minutes);
if (Time.error!=0)
System.out.println("This is an invalid time");
System.out.print(classtime.Time2(hours, minutes, timeofday));
{
if (Time.error!=0)
System.out.println("This is an invalid time");
System.out.print("The class begins at ");
System.out.println (classtime.toString());
startTime=classtime.toString();
System.out.println("Enter a time in minutes representing the class duration:");
elapsedMin=scan.nextInt();
classtime.addMinutes (hours, minutes, elapsedMin);
System.out.println (classtime.toString());
System.out.print(elapsedMin + " minutes after "+ startTime + " is ");
System.out.println (classtime.toString());
System.out.print("The class ends at ");
System.out.println (classtime.toString());
System.out.print("The class ends at ");
System.out.print("MILITARY");
}}}
import java.util.Scanner;
그것은 나에게 오류
Exception in thread "main" java.lang.NullPointerException
at Time.Time2(Time.java:39)
at TimeTest.main(TimeTest.java:29)
를주고 당신은 어떤이있는 경우, 그래서이,이 코드의 유일한 문제는 아니라는 것을 알고 조언 나는 모두 귀입니다.
'Time.java'의 39 번째 줄을 게시 할 수 있습니까? – Vidya
"내 코드가 뜨거운 엉망처럼 보이므로 나와 함께 감내해야한다는 것을 알고있다 ....."코드를 뜨거운 엉망으로 만드는 것은 우리의 이익이 아니라 귀하의 이익을위한 것입니다. 적절한 형식을 지정하면 장기적으로 많은 골칫거리를 줄일 수 있습니다. –
글쎄, 데니스, 당신이 그 문제를 알아낼 수 없다는 것은 너무나 난장판이 아니 었습니다. 하지만 네, 적절한 형식이 정말 도움이됩니다. – Vidya