gpt4 book ai didi

java - 我的构造函数没有接受变量

转载 作者:行者123 更新时间:2023-12-01 10:05:46 24 4
gpt4 key购买 nike

我的构造函数不接受变量。用户运行Clock类,理论上,输入的小时和分钟会传递给Time类。不幸的是,变量 hour 和 分钟没有传递给 Time,并且代码没有被执行。

这是第一类,用户输入当前时间。

/**
* Write a description of class Clock here.
*
* @author (your name)
* @version (a version number or a date)
*/

import java.util.Scanner;

public class Clock
{
public static void main (String [ ] args)
{
Scanner scan = new Scanner (System.in);
int hour = 12;
int minute = 00;

System.out.println("Please enter the hour.");
System.out.println();

System.out.print("--> ");
hour = scan.nextInt();

System.out.println();
System.out.println();

System.out.println("Please enter the minute.");
System.out.println();

System.out.print("--> ");
minute = scan.nextInt();

System.out.println();
System.out.println();
System.out.println();

if (hour > 24 || hour < 00)
{
hour = 24;
}

if (minute > 59 || minute < 00)
{
minute = 00;
}

Time CLOCK = new Time ();

System.out.println(CLOCK);
}

}

这是第二类,在输入的时间上加一分钟,以标准时间打印,以军用时间打印。

/**
* Write a description of class Time here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Time
{
private int h;
private int m;

String string4;
String string7;
String mitime;

public void increment (String string1, int minute)
{
int intime = minute + 1;
String string3 = intime + "";
string4 = string1+string3;
}

public void convert (int h, int m)
{
int hour = h;
int minute = m;

String zone = "";

if (hour > 12)
{
zone = "PM";
}
else
{
zone = "AM";
}

if (hour > 12)
{
hour = hour - 12;
}

String string5 = hour + "";
String string6 = minute + "";
string7 = hour + ":" + minute + " " + zone;

}

public void clock (int hour, int minute)
{
h = hour;
m = minute;


convert(h, m);

int integer = hour;

String string1 = integer + "";

int integer2 = minute;


String string2 = integer2 + "";

mitime = integer + string2;

increment(string1, minute);
}

public String toString ( )
{
return "Military Time:\n" +
mitime +
"\n\nStandard Time:\n" +
string7 +
"\n\nIn one minute, it will be " +
string4;
}

}

您能否指出我哪里出错了,以及如何修复此错误?

非常感谢。

最佳答案

如果您想向 Time 对象传递值,则需要一个构造函数:

public class Time{
public Time(int value1, int value2) {
h = value1;
m = value2;
}
}

或者类似的东西:)如果你想创建一个新的时间实例,你可以调用你的构造函数

new Time(3, 4)

此外,请记住 int 值是普通整数。您不能存储 00 或 01,它们将存储为 0 和 1。如果您想将分钟数显示为 00 左右,您需要找到一种方法来以良好的方式显示这些值!

关于java - 我的构造函数没有接受变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36489799/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com