我有两个接口:
interface S {
public String m1();
}
interface O {
public Object m1();
}
Run Code Online (Sandbox Code Playgroud)
我决定在类Test中实现O和S:
class Test implements O, S {
}
Run Code Online (Sandbox Code Playgroud)
我的问题 :
为什么我必须只实现方法public String m1()而不是其他方法?其次,为什么我不能实现public Object m1()而不是public String m1()?
我有这个 makefile :
CC = gcc
CFLAGS = -std=c99 -W -Wall
CFLAGSS = -std=c99 -W
LIBS = -lm
prog : main.o double.o coord2D.o coord3D.o
$(CC) $^ $(LIBS) -o $@
%.o : %.c
$(CC) $(CFLAGS) $< -c
coord2D.o: coord2D.c coord2D.h double.h
coord3D.o: coord3D.c coord3D.h double.h
double.o: double.c double.h
main.o: main.c double.h coord2D.h coord3D.h
Run Code Online (Sandbox Code Playgroud)
我的问题:
“%.o:%.c”行有什么作用?
我在哪里:
我做了很多研究,但我仍然不知道它到底是如何工作的。
据我所知,当我们输入“make”时:
- 我们转到包含依赖项“main.o”的第一条规则“prog”
- 因此,我们转到规则“main.o”,它是被“%.o : %.c”识别,因为它包含模式“main.o : main.c”并进行编译。
- 然后我们回到“prog”,其中包含“double.o”,然后重复这些步骤
是这样的吗?如果是这样,我还有第二个问题:如果我们写“%.o : %.c coord2D.h double.h”怎么办?它是否只考虑规则“main.o”,因为它是唯一包含文件“.c”和两个“.h”文件的规则?
我希望用户只输入他的年龄.所以我做了这个程序:
Scanner keyb = new Scanner(System.in);
int age;
while(!keyb.hasNextInt())
{
keyb.next();
System.out.println("How old are you ?");
}
age = keyb.nextInt();
System.out.println("you are" + age + "years old");
Run Code Online (Sandbox Code Playgroud)
我发现如何通过使用带有keyb.hasNextInt()的while循环来阻止用户使用字符串,但是如何阻止他使用空格或输入比他的年龄更多的输入?
例如,我想阻止这种打字"12米"或"12 12"
另外,如何清除缓冲区中的所有现有数据?当我尝试使用它时,我面临无限循环:
while(keyb.hasNext())
keyb.next();
Run Code Online (Sandbox Code Playgroud) 我需要做的是:
我需要将 LocalDateTime 对象传递给构造函数,并且我有一个值为“18:14:00”的字符串。
我的问题:
如何将字符串转换为 LocalDateTime ?
我做了什么:
经过一些研究,我把它放在了上面,但没有用:
LocalDateTime.parse("18:14:00", DateTimeFormatter.ofPattern("HH:mm:ss"));
Run Code Online (Sandbox Code Playgroud)
java.time.format.DateTimeParseException:无法解析文本“18:14:00”:无法从 TemporalAccessor 获取 LocalDateTime:{},ISO 解析为 java.time.format.Parsed 类型的 18:14