对不起,如果听起来太简单了.我是Java的新手.
这是我用来检查的一些简单代码hasNextLine().当我运行它时,我无法阻止它.我想如果你没有写任何输入并按下Enter,你就会逃脱while循环.
有人可以向我解释hasNextLine()在这种情况下如何运作?
import java.util.*;
public class StringRaw {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNextLine()) {
String str = sc.nextLine();
}
System.out.print("YOU'VE GOT THROUGH");
}
}
Run Code Online (Sandbox Code Playgroud) import java.util.*;
class Averager
{
public static double unlimited()
{
int count = 0;
double sum = 0;
Scanner scan = new Scanner(System.in);
while(scan.hasNext())
{
double d = scan.nextDouble();
sum += d;
count++;
}
double ave = sum/count;
return ave;
}
public static void main(String[] args) {
System.out.println(unlimited()+"\n");
}
}
Run Code Online (Sandbox Code Playgroud)
使用整数时没有错误,但如果我使用带有点的数字则会出现错误.
$ javac Averager.java; java Averager
0.5
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:840)
at java.util.Scanner.next(Scanner.java:1461)
at java.util.Scanner.nextDouble(Scanner.java:2387)
at Averager.unlimited(Averager.java:12)
at Averager.main(Averager.java:21)
Run Code Online (Sandbox Code Playgroud)
据我所知,0.5应该用双倍覆盖.如果不是,请有人纠正我.
我有三个 Django 模型。
class Asset(models.Model):
name = models.CharField(max_length=255)
class Place(Asset):
location = PointField()
class Zone(Asset):
location = PolygonField()
Run Code Online (Sandbox Code Playgroud)
我想对地点和区域使用相同的端点。是否可以为每个请求决定使用哪个序列化器,例如我可以轻松检查请求的资产是一个地方还是一个区域?
我只对处理单个实例感兴趣,因此不需要处理 ListView 等。