Por que é que a minha classe está mostrando como não está sendo usado e, portanto, não é possível compilar meu programa?

David Sorrell:

extremamente novo para java e na minha classe (na escola sem o programa) estamos para projetar uma classe que o peso lojas e um método que retorna as despesas de envio. Estou claramente muito confuso quanto ao que eu estou fazendo aqui. Eu tenho esse código, mas não podem sequer compilar como se lê que a minha classe não é usada. Qualquer ajuda seria ótimo.

import javax.swing.JOptionPane;

public class ShippingCharges {
    public float weight;

    public void myPublicMethod() {
        weight = Float.parseFloat(JOptionPane.showInputDialog(null, "What is the weight in kg?: ", JOptionPane.QUESTION_MESSAGE));
    }

    public static double main(String[] args) {
        ShippingCharges charge = new ShippingCharges();
        charge.myPublicMethod();

        if (charge.weight >= 2) {
            System.out.println("The shipping charge for 2kg or less for every 500 miles is $1.10");
            return 1.10;
        }
        if (charge.weight > 2 && charge.weight <= 6) {
            System.out.println("The shipping charge for over 2kg up to 6kg " +
                    "for every 500 miles is $2.20");
            return 2.20;
        }
        if (charge.weight > 6 && charge.weight <= 10) {
            System.out.println("The shipping charge for over 6kg up to 10kg " +
                    "for every 500 miles is $2.20");
            return 3.70;
        } else {
            System.out.println("The shipping charge for anything over 10kg" +
                    "for every 500 miles is $4.80");
            return 4.80;
        }
    }
}

Também desculpe se isso foi solicitado antes. Eu não consigo encontrá-lo

WJS:

O principal não retornar um duplo. O retorno dupla deve estar no seu método. O tipo de retorno para principal é nula.

Tente isto: Eu tomei a liberdade de mudar float para double. Você pode mudá-los de volta se quiser.

public class ShippingCharges {
    public double weight;

    public static double myPublicMethod() {
        ShippingCharges charge = new ShippingCharges();
        double weight = Double.parseDouble(JOptionPane.showInputDialog(null, "What is the weight in kg?: ", JOptionPane.QUESTION_MESSAGE));
        if (charge.weight >= 2) {
            System.out.println("The shipping charge for 2kg or less for every 500 miles is $1.10");
            return 1.10;
        }
        if (charge.weight > 2 && charge.weight <= 6) {
            System.out.println("The shipping charge for over 2kg up to 6kg " +
                    "for every 500 miles is $2.20");
            return 2.20;
        }
        if (charge.weight > 6 && charge.weight <= 10) {
            System.out.println("The shipping charge for over 6kg up to 10kg " +
                    "for every 500 miles is $2.20");
            return 3.70;
        } else {
            System.out.println("The shipping charge for anything over 10kg" +
                    "for every 500 miles is $4.80");
            return 4.80;
        }
    }


    public static void main(String[] args) {

        myPublicMethod();

    }
}

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=296563&siteId=1
Recomendado
Clasificación