只想添加“表演者对象”中的所有变量,然后将其添加到列表中。所以我有“Performer”类,如果我想初始化一个对象,就像:
Performer a = new Performer("Red Hot Chili Peppers", Kind.Punk, LocalDateTime.of(2015, 07, 17, 14, 00), LocalDateTime.of(2015, 07, 17, 16, 00) , Stage.MainStage)
还有一个 addBand 方法,其部分为:
System.out.println("End:");
sc.nextLine();
sc.findInLine("(\\d\\d)\\.(\\d\\d)\\. (\\d\\d):(\\d\\d)");
try{
MatchResult mr =sc.match();
int month = Integer.parseInt(mr.group(2));
int day = Integer.parseInt(mr.group(1));
int hour = Integer.parseInt(mr.group(3));
int minute = Integer.parseInt(mr.group(4));
LocalDateTime end = LocalDateTime.of(year, month, day, hour, minute);
//System.out.println(end);
} catch (IllegalStateException e)
{
System.err.println("Invalid input!");
}
Performer performer = new Performer(bandname, kind, start, end , stage);
listperformer.add(performer);
return listperformer;
事实证明, eclipse 说:“end 无法解析为变量” 我的结束代码与开始代码相同,所以这里出现同样的错误。 我不知道问题出在哪里。
最佳答案
end 变量在 try block 内声明,因此不能在 try block 外使用。
在 try block 之外声明它并在 try block 内初始化它。
LocalDateTime end = null;
try{
MatchResult mr =sc.match();
int month = Integer.parseInt(mr.group(2));
int day = Integer.parseInt(mr.group(1));
int hour = Integer.parseInt(mr.group(3));
int minute = Integer.parseInt(mr.group(4));
end = LocalDateTime.of(year, month, day, hour, minute);
//System.out.println(end);
} catch (IllegalStateException e){
System.err.println("Invalid input!");
}
Performer performer = new Performer(bandname, kind, start, end , stage);
listperformer.add(performer);
return listperformer;
关于java - LocalDateTime 无法解析为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35628587/