我正在使用JB IntelliJ IDEA并试图创建一个对矩形进行排序的程序。但是我无法解决
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
option = Options()
option.set_capability("pageLoadStrategy","eager")
driver = webdriver.Chrome(executable_path="chromedriver.exe",options=option)
我该怎么办?
注意:重新进行项目并没有帮助我。
主要:
"Error:(28, 22) java: cannot find symbol
symbol: method Rectangle(java.lang.Double,java.lang.Double)
location: class io.github.vadimsam.rectsort.Rectangle".
矩形:
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Scanner;
class SComparator implements Comparator<Rectangle> {
public int compare(Rectangle r1, Rectangle r2) {
return r1.area().compareTo(r2.area());
}
}
public class Main {
public static void main(String[] args) {
ArrayList<Rectangle> rectsArea = new ArrayList<>();
Scanner input = new Scanner(System.in);
SComparator comparator = new SComparator();
while(true){
System.out.print("A = ");
Double a = input.nextDouble();
System.out.print("B = ");
Double b = input.nextDouble();
Rectangle.Rectangle(a,b);
rectsArea.sort(comparator);
if (a == 0) {
System.out.println("Sorted ArrayList:");
System.out.println(rectsArea);
break;
}
}
}
}
它应该返回排序后的ArrayList
答案 0 :(得分:1)
代替写作:
explode('?', $url)[0];
正在调用名为Rectangle.Rectangle(a,b);
的静态方法,该方法可能是Rectangle
类的一部分,请尝试使用您在Rectangle
类中声明的构造函数创建对象以实例化新矩形对象:
Rectangle
您没有在Rectangle rectangle = new Rectangle(a, b);
类中声明任何名为Rectangle
的静态方法,这就是出现此错误的原因。
答案 1 :(得分:1)
此行:
Rectangle.Rectangle(a,b);
表示对由类Rectangle
定义的名为Rectangle
的静态方法的调用。没有这样的方法!这就是“找不到符号错误”的原因。
有一个构造函数Rectangle(int, int)
,但是您没有在Java中调用构造函数。您new
。例如:
Rectangle someRectangle = new Rectangle(a,b);
但是,从上下文来看,我怀疑您应该将新的Rectangle
对象分配给您先前创建的数组的元素。
但是您的代码(我该怎么说)是“困惑的”。我认为您需要仔细阅读它,并向您的rubber duck解释每个语句的作用。
答案 2 :(得分:0)
我认为您的问题出在关键点
Rectangle.Rectangle(a,b);
这对于实例化对象是不正确的语法,因为矩形类中没有方法Rectangle
,只有构造函数。使用构造函数的正确方法如下:
Rectangle rect = new Rectangle(a, b);