我写了以下代码:
public class NewClass2 implements Comparator<Point>
{
public int compare(Point p1, Point p2)
{
return (int)(p1.getY() - p2.getY());
}
}
Run Code Online (Sandbox Code Playgroud)
如果我说有两个双号,3.2 - 3.1
差异应该是0.1
.然而,当我将数字转换为int时,差异最终为0
,这是不正确的.
因此我需要compare()
返回一个double,而不是int.问题是,我的getX
领域是双重的.我怎么解决这个问题?
我写了以下课程:
public class SortingObjectsWithAngleField implements Comparator<Point> {
public int compare(Point p1, Point p2) {
double delta = p1.getAngle() - p2.getAngle();
if(delta == 0.00001)
return 0;
return (delta > 0.00001) ? 1 : -1;
}
}
Run Code Online (Sandbox Code Playgroud)
然后,在我的main()
方法中,我创建了一个List
我添加了一些具有"X"和"angle"字段的对象.
然后我用:
Collections.sort(list, new SortingObjectsWithAngleField());
Run Code Online (Sandbox Code Playgroud)
这种排序方法的复杂性是什么?
嗨,我是java的初学者,我的程序有4个for循环:我的程序就像这样,如果b
是true
,该元素将从pointList中删除,并且n
将是n--
我想要从所有for循环中出来并从第一个出来对于循环,这样l
会l++
,我怎么能做到这一点?与休息声明?
for (int l = 0; l < n; l++) {
for (int i = 1; i < (n - 2); i++) {
for (int j = i + 1; j < (n - 1); j++) {
for (int k = j + 1; k < n; k++) {
if (l != i && l != j && l != k) {
boolean b = isOK(pointList.get(l), pointList.get(i), pointList.get(j), …
Run Code Online (Sandbox Code Playgroud) 嗨这是一个阶乘方法,但它在控制台打印0请帮助我谢谢
public class Demo {
public static void main(String[] args) {
Demo obj = new Demo();
System.out.println(obj.factorial(500));
}
public int factorial(int n) {
int fact = 1;
for (int i = 2; i <= n; i++) {
fact= fact*i;
}
return fact;
}
Run Code Online (Sandbox Code Playgroud)
编辑:将返回无限!
public class Demo {
public static void main(String[] args) {
Demo obj = new Demo();
System.out.println(obj.factorial(500));
}
public double factorial(long n) {
double fact = 1;
for (int i = 2; i <= n; i++) { …
Run Code Online (Sandbox Code Playgroud) 在我创建一个新对象后: Map<Float,Integer> m = new HashMap()<Float,Integer>;
我有一个数组"float"
唯一的数组.我想添加这些浮点数作为m's key
!我可以这样做: m.put(new Float(a[i]),"cat");
?
谢谢
当我有一个包含100个元素的数组列表时,如何制作BST {3,2,6,7,...,99}
?
我有一个没有GUI的程序,我使用控制台!所以首先我从控制台的用户那里读取一行
BufferedReader userReader = new BufferedReader(new InputStreamReader(System.in));
然后我会在控制台中为用户写一个答案!
的System.out.println( "服务器:" +输出);
我想为它创建一个jar文件!但是如何在不使用GUI的情况下在jar文件中显示我的控制台?请帮我谢谢.