How would i fix the errors in this code?

import java.util.Arrays;

public class Laptop { 

    private String brand;
    private String model;
    private String type;
    private double price;
    private String resolution;
    private double screenSize;
    private String displayType;
    private boolean touchScreen;
    private String cpu;
    private double cpuSpeed;
    private int cores;
    private int memory;
    private int storage;
    private String storageType;
    private String graphicsCard;
    private String inputs;
    private String os;
    private String size;
    private double weight;
    private int warrenty;
    private String hyperlink;

    private int[] ratings = new int[20];

    private int score;

    // bellow is the Getter and Setter auto generated code.

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public String getModel() {
        return model;
    }

    public void setModel(String model) {
        this.model = model;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public String getResolution() {
        return resolution;
    }

    public void setResolution(String resolution) {
        this.resolution = resolution;
    }

    public double getScreenSize() {
        return screenSize;
    }

    public void setScreenSize(double screenSize) {
        this.screenSize = screenSize;
    }

    public String getDisplayType() {
        return displayType;
    }

    public void setDisplayType(String displayType) {
        this.displayType = displayType;
    }

    public boolean isTouchScreen() {
        return touchScreen;
    }

    public void setTouchScreen(boolean touchScreen) {
        this.touchScreen = touchScreen;
    }

    public String getCpu() {
        return cpu;
    }

    public void setCpu(String cpu) {
        this.cpu = cpu;
    }

    public double getCpuSpeed() {
        return cpuSpeed;
    }

    public void setCpuSpeed(double cpuSpeed) {
        this.cpuSpeed = cpuSpeed;
    }

    public int getCores() {
        return cores;
    }

    public void setCores(int cores) {
        this.cores = cores;
    }

    public int getMemory() {
        return memory;
    }

    public void setMemory(int memory) {
        this.memory = memory;
    }

    public int getStorage() {
        return storage;
    }

    public void setStorage(int storage) {
        this.storage = storage;
    }

    public String getStorageType() {
        return storageType;
    }

    public void setStorageType(String storageType) {
        this.storageType = storageType;
    }

    public String getGraphicsCard() {
        return graphicsCard;
    }

    public void setGraphicsCard(String graphicsCard) {
        this.graphicsCard = graphicsCard;
    }

    public String getInputs() {
        return inputs;
    }

    public void setInputs(String inputs) {
        this.inputs = inputs;
    }

    public String getOs() {
        return os;
    }

    public void setOs(String os) {
        this.os = os;
    }

    public String getSize() {
        return size;
    }

    public void setSize(String size) {
        this.size = size;
    }

    public double getWeight() {
        return weight;
    }

    public void setWeight(double weight) {
        this.weight = weight;
    }

    public int getWarrenty() {
        return warrenty;
    }

    public void setWarrenty(int warrenty) {
        this.warrenty = warrenty;
    }

    public String getHyperlink() {
        return hyperlink;
    }

    public void setHyperlink(String hyperlink) {
        this.hyperlink = hyperlink;
    }

    public int[] getRatings() {
        return ratings;
    }

    public void setRatings(int[] ratings) {
        this.ratings = ratings;
    }

    public int getScore() {
        return score;
    }

    public void setScore(int score) {
        this.score = score;
    }

    // bellow is the toString auto coded method.

    @Override
    public String toString() {
        return "Laptop [brand=" + brand + ", model=" + model + ", type=" + type + ", price=" + price + ", resolution="
                + resolution + ", screenSize=" + screenSize + ", displayType=" + displayType + ", touchScreen="
                + touchScreen + ", cpu=" + cpu + ", cpuSpeed=" + cpuSpeed + ", cores=" + cores + ", memory=" + memory
                + ", storage=" + storage + ", storageType=" + storageType + ", graphicsCard=" + graphicsCard
                + ", inputs=" + inputs + ", os=" + os + ", size=" + size + ", weight=" + weight + ", warrenty="
                + warrenty + ", hyperlink=" + hyperlink + ", ratings=" + Arrays.toString(ratings) + ", score=" + score
                + "]";
    }


}
import java.util.Arrays;

    public class User {

                private String name;
                private String userBrand;
                private String userType;
                private double userPrice;
                private String userCpu;
                private double displaySize;
                private boolean touchscreen;
                private int userStorageType;
                private String osType;

                private int [] weighting = new int [8];

                private int score;

                public String getName() {
                    return name;
                }

                //getter and setter auto coded methods

                public void setName(String name) {
                    this.name = name;
                }

                public String getUserBrand() {
                    return userBrand;
                }

                public void setUserBrand(String userBrand) {
                    this.userBrand = userBrand;
                }

                public String getUserType() {
                    return userType;
                }

                public void setUserType(String userType) {
                    this.userType = userType;
                }

                public double getUserPrice() {
                    return userPrice;
                }

                public void setUserPrice(double userPrice) {
                    this.userPrice = userPrice;
                }

                public String getUserCpu() {
                    return userCpu;
                }

                public void setUserCpu(String userCpu) {
                    this.userCpu = userCpu;
                }

                public double getDisplaySize() {
                    return displaySize;
                }

                public void setDisplaySize(double displaySize) {
                    this.displaySize = displaySize;
                }

                public boolean isTouchscreen() {
                    return touchscreen;
                }

                public void setTouchscreen(boolean touchscreen) {
                    this.touchscreen = touchscreen;
                }

                public int getUserStorageType() {
                    return userStorageType;
                }

                public void setUserStorageType(int userStorageType) {
                    this.userStorageType = userStorageType;
                }

                public String getOsType() {
                    return osType;
                }

                public void setOsType(String osType) {
                    this.osType = osType;
                }

                public int[] getWeighting() {
                    return weighting;
                }

                public void setWeighting(int[] weighting) {
                    this.weighting = weighting;
                }

                public int getScore() {
                    return score;
                }

                public void setScore(int score) {
                    this.score = score;
                }

                // toString auto coded method

                @Override
                public String toString() {
                    return "User [name=" + name + ", userBrand=" + userBrand + ", userType=" + userType + ", userPrice=" + userPrice
                            + ", userCpu=" + userCpu + ", displaySize=" + displaySize + ", touchscreen=" + touchscreen
                            + ", userStorageType=" + userStorageType + ", osType=" + osType + ", weighting="
                            + Arrays.toString(weighting) + ", score=" + score + "]";
                }

            }
import java.awt.Color;
import java.awt.Desktop;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;

import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;


/*
 *This class allows the user to see a report that produces the top 3 laptops that best meet their criteria.

 */

public class LaptopAdvisorGUIReport extends JFrame implements ActionListener {

    // Report Panel elements
        JPanel reportPanel = new JPanel();
        JLabel reportLabel = new JLabel("REPORT PANEL");
    JButton[] reportButton = new JButton[3];
    JTextArea[] laptopTextAreaArray = new JTextArea[3];
    JLabel[] laptopImageButton = new JLabel[3];

    // List that stores the score index of top 3 laptops
        int[] scoreIndex = new int[3];

    // List of laptops

    Laptop[]laptopArray;



    // User
    User user;


public LaptopAdvisorGUIReport(Laptop[] laptopArray, User user) {

    // calling user and laptopArray method
    this.laptopArray = laptopArray;
    this.user = user;

    frameSetup();
    reportPanelSetup();
    createReport();

}


// This method sets up the frame
private void frameSetup() {

    // creates frame 
    JFrame frameReport = new JFrame("Laptop Advisor");

    getContentPane().setBackground(new Color( 200, 20, 20));
    // size
    frameReport.setSize(1300, 750);

    // close when button is clicked on
    frameReport.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    //  user can see report
    frameReport.setVisible(true);

    // centered on screen
    frameReport.setLocationRelativeTo(null);

    frameReport.add(reportPanel);

}

// This method creates a Panel
private void reportPanelSetup() {

    //set the background colour and size of the panel
    reportPanel.setBackground(new Color(50, 200, 200));
    reportPanel.setVisible(true);
    reportPanel.setBounds (50,50,1250,500);
    reportPanel.setLayout(null);

    // creates label on panel 
    reportPanel.add(reportLabel);
    reportLabel.setBounds(575,25,200,25);
    reportLabel.setVisible(true);

    }


// This method
public void actionPerformed(ActionEvent e) {

    //FINISH THIS
    }


// This method opens the web
private void openWebBrowser(int index) {


    if(Desktop.isDesktopSupported()) {
        try {
            Desktop.getDesktop().browse(new URI(laptopArray[scoreIndex[index]].getHyperlink()));
        } catch (IOException e1) {
            e1.printStackTrace();
        } catch (URISyntaxException e1) {
            e1.printStackTrace();
        }
    }

}
// This method...
private int wdm(Laptop currentlaptop, User user) {
    // total score variable
    int totalScore = 0;

    for (int weightingNum = 0; weightingNum < user.getWeighting().length; weightingNum++) {

        totalScore += currentlaptop.getRatings()[weightingNum] * user.getWeighting()[weightingNum];

    }
    return totalScore;
}

// This method…
private void createReport() {
    // ranks all the laptop
    rankLaptops();


}

// This method displays the the top three laptops based on the user's scores
private void rankLaptops() {

    // index
    int index = 0;

    // index position of the top 3 total scores for ranking laptops
    int topScore1 = -1;
    int topScore2 = -1;
    int topScore3 = -1;


    for (Laptop currentLaptop : laptopArray) {
        currentLaptop.setScore(wdm(currentLaptop, user));

        if (currentLaptop.getScore() > topScore1) {
            topScore3 = topScore2;
            topScore2 = topScore1;
            topScore1 = currentLaptop.getScore();
            scoreIndex[2] = scoreIndex[1];
            scoreIndex[1] = scoreIndex[0];
            scoreIndex[0] = index;
        }

        // see if the current score is greater than second biggest score
        else if (currentLaptop.getScore() > topScore2) {
            topScore3 = topScore2;
            topScore2 = currentLaptop.getScore();
            scoreIndex[2] = scoreIndex[1];
            scoreIndex[1] = index;
        }

     // see if the current score is greater than third biggest score
        else if (currentLaptop.getScore() > topScore3) {
            topScore3 = currentLaptop.getScore();
            scoreIndex[2] = index;
        }
        index++;
    }


    // set picture of each label to the pictures of top laptops
        laptopImageButton[index].setIcon(new ImageIcon(new ImageIcon("./images/laptop" + 
                scoreIndex[index] + ".jpg").getImage().getScaledInstance(450, 400, 0)));

}

}

......................................................................................................................................................
This is for an assignment so please help! I am getting errors mostly in the rankLaptop method ....................................................................................................................................................