我没有尝试将日期格式化为YYYY-MM-DD或DD/MM/YYYY。我想问一下LocalDate的文字格式。
我刚开始学习Java,我正在使用这个名为BlueJ的IDE。我想创建一个测试方法。
从构造函数中我们知道它需要int、LocalDate和double。我在网上搜索了一下,找到了
https://www.javabrahman.com/java-8/java-8-working-with-localdate-localtime-localdatetime-tutorial-with-examples/
java.time.LocalDate:在ISO-86011日历系统中,LocalDate实例保存没有时区的日期。LocalDate的默认格式为2016-12-12中的YYYY-MM-DD。
所以我会在10001中为testID放一个正常的数字,双倍是50.5。我也知道,为了注册一个字符串(如果需要的话),我需要把它括在字符串中
但是我已经尝试了各种方法来输入日期,我会留下一个错误
2018-05-30,30-05-2018,30/05/2018会给我
Error: incompatible types: Int cannot be converted to java.time.LocalDate
另一方面,“2018年5月30日”会给我
Error: Incompatible types: java.lang.String cannot be converted to java.time.LocalDate
如果我尝试2018年5月30日,它会说
Error: ';' expected
如果我尝试'2018-05-30'它会说
Error: unclosed character literal
我想尽了办法去尝试。所以如果你能告诉我应该怎么把它放进去,那就太好了。
我只是想知道BlueJ希望我如何输入它。因为BlueJ的在线资源非常稀少。
代码:
import java.time.LocalDate;
import java.util.ArrayList;
/**
* Write a description of class TestPaper here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class TestPaper
{
// instance variables - replace the example below with your own
private int testID;
private LocalDate testDate;
private double testMarks;
private ArrayList<MCQ> MCQDetails;
/**
* Constructor for objects of class TestPaper
*/
public TestPaper(int testID, LocalDate testDate, double testMarks)
{
this.testID = testID;
this.testDate = testDate;
this.testMarks = testMarks;
MCQDetails = new ArrayList<MCQ>() ;
}
/**
* Accessor Method getTestID to get the testID
*
* @return int value of the choice ID
*/
public int getTestID(){
return testID;
}
/**
* Mutator Method to set the testID
*
* @param int format of the testID to set
*/
public void setTestID(int testID){
this.testID = testID;
}
/**
* Accessor Method getTestMarks to get the Test Marks
*
* @return double value of the test marks
*/
public double getTestMarks(){
return testMarks;
}
/**
* Mutator Method to set the testMarks
*
* @param String format of the choice Description to be set
*/
public void setTestMarks(double testMarks){
this.testMarks = testMarks;
}
/**
* Accessor Method getTestDate to get the testDate
*
* @return LocalDate value of the testDate
*/
public LocalDate getTestDate(){
return testDate;
}
/**
* Mutator Method to set the testDate
*
* @param LocalDate format of the testDate to set
*/
public void setTestDate(LocalDate testDate){
this.testDate = testDate;
}
/**
* Method addMCQ will allow users to add a MCQ Object to the list of MCQ
*
* @param addMCQ a MCQ Object
* @return boolean will return true if it is successfully added or false if not
*/
public boolean addMCQ(MCQ MCQName)
{
return MCQDetails.add(MCQName);
}
/**
* Method removeMCQ to remove an MCQ object from the Arraylist
*
* @param MCQName A parameter of type MCQ
*/
public void removeMCQ(MCQ MCQName)
{
MCQDetails.remove(MCQName);
}
/**
* Method listMCQ to return a list of MCQ arraylist
*
* @return The return value of MCQDetails (MCQ Arraylist)
*/
public ArrayList<MCQ> listMCQ()
{
return MCQDetails;
}
public MCQ findMCQ(int MCQID)
{
for(MCQ m : MCQDetails)
{
if(m.getQuestionID() == MCQID)
{
return m;
}
}
return null;
}
尝试转换调用中的LocalDate,例如:
TestPaper (2018-05-30, LocalDate.parse("2018/05/30"), 30/05/2018);
LocalDate中还可以使用其他静态方法。更多示例请参见此处。
从上面的评论中,不要忘记您的导入:
import java.time.LocalDate;
如注释中所述,解决方案是添加创建LocaDate
的代码,但bluej需要带有包前缀“java.time”的完全限定类名:
java.time.LocalDate.of(2018, 5, 30)
不确定为什么它不工作与只是LocalDate.of(...)
(即使与类correclty导入),但至少这工作。
只是另一个细节:日期没有格式。像LocalDate
这样的类只保存值(在本例中,它有年、月和日值),但是日期本身根本没有格式。相同的日期可以用许多不同的格式表示:May 30 2018
,2018-05-30
,30/05/18
是不同的格式,但都表示相同的日期。日期对象只保存这些值,您可以选择任何您想要表示它的格式。
当您打印一个LocalDate
时,它隐含调用toString()
,默认情况下选择yyyy-MM-dd
格式,这是ISO 8601格式,但正如我所说,这只是许多可能的方法之一格式化日期(尽管值始终保持不变)。说“日期有格式”是错误和误导的。
问题内容: 我不尝试用YYYY-MM-DD或dd / MM / YYYY格式化日期。我在问 LocalDate的字面格式。 我刚开始学习Java,并且正在使用称为BlueJ的IDE。我想 创建一个测试方法。 屏幕截图将显示我正在尝试做的事情 忽略底部的错误部分 现在,从构造函数开始,我们知道它需要一个int,LocalDate和一个 double。我在网上搜索后发现 https://www.jav
问题内容: 我需要在JavaFX中创建一个对话框。我知道我可以通过修改模式,所有者和可调整大小的属性来使舞台表现得像对话框。 但是,如何从舞台窗口中隐藏“最小化”和“最大化”按钮?典型的对话框只有“关闭”按钮。 问题答案: 在Windows 7下,在显示窗口之前初始化为StageStyle.UTILITY将创建一个仅具有关闭按钮而没有最小化或最大化按钮的窗口: 如果您需要一整套基本的JavaFX对
我需要用JavaFX创建一个对话框。我知道我可以通过修改modal、owner和resizable属性使Stage的行为像一个对话框。 但是我如何从舞台窗口隐藏“最小化”和“最大化”按钮呢?典型的对话框只有“关闭”按钮。
我的目标是使用MFC创建一个无框架对话框,它是像图中所示的普通矩形,我对MFC应用程序有基本的了解。
问题内容: 我有一个运行一些嵌入式Python脚本的MFC应用程序。我正在尝试使该嵌入式脚本创建模态对话框之一,但是我没有取得太大的成功。 谁能指出我进行模态对话的方式吗?我需要为此使用Windows函数还是仅Tk或Python函数就足够了? 对于我搜索过的内容,似乎以下功能组合可以发挥作用,但它们似乎没有按我期望的方式工作: 问题答案: 是使窗口成为“应用程序模式”的适当机制。也就是说,它从同一
我试图在对话框中创建一个编辑文本框,用于输入密码。当我在做的时候,我不能做。我是这方面的初学者。请帮我做这件事。 形象 我想得到作为