有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

识别方法的java问题

我是一个新的程序员,我的方法有些问题。我做了一些,但它们在主方法中没有被检测到。(注:我还没有填写大部分方法,因为我想先解决这个问题。) 谢谢大家

package area;
     import java.util.*;

     /**
      *
      * @author domendes
      */

     public class Area {


         public static void main(String[] args) {
             Scanner kbdln = new Scanner(System.in);
             System.out.println("Welcome to the area calculating code! Which shape would you like to calculate the area of?");
             System.out.println("Press 1 for a Triangle, 2 for a Circle, 3 for a Rectangle, and 0 to quit.");
             int request = kbdln.nextInt();
             if (request == 1) {
                 areaTriangle();
             } else {
                 if (request == 2) {
                     areaCircle();
                 } else {
                     if (request == 3) {
                         areaRectangle();
                     } else {
                         if (request < 1) {
                             System.out.println("Goodbye");
                             return;
                         }
                     }
                 }
             }

         }

     }

     public static void areaTriangle() {
         Scanner kbdln = new Scanner(System.in);
         System.out.println("Welcome to the Tirangle area cacluator. Enter in the height of your triangle");
         double triBase = kbdln.nextDouble();
     }


     public static void areaCircle() {

     }

     public static void areaRectangle() {}

     }

共 (3) 个答案

  1. # 1 楼答案

    在Java中,一切都是一个对象。因此,您正在创建的方法实际上是属于Area类的方法。如果你想访问它们,你必须使用Area类来引用它们

    假设您已经创建了static方法(这意味着您的方法处于类级别,而不是对象级别。您应该阅读更多关于它的内容)。您可以使用classname.methodname访问它们。在你的情况下是Area.areaTriangle()

  2. # 2 楼答案

    你的if/else语句结构不良。第一个语句应该是if,后面的每个语句应该是elseif,最后一个语句应该是else。然而,在这种情况下,switch语句是最好的

    switch(request){
        case 1:
            areaTriangle();
            break;
       case 2:
            areaCircle();
            break;
       case 3:
            areaRectangle();
            break;
       default:
            System.out.println("Goodbye");
    }
    
  3. # 3 楼答案

        public static void main(String [] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("Press 1 for a Triangle, 2 for a Circle, 3 for a Rectangle, and 0 to quit."
    int num = sc.nextInt();
        if(num == 1){
         areaTriangle();
        }else if(num == 2){
         areaCirlce();
        }else if(num == 3){
         areaRectangle();
        else{
           System.out.println("GoodBye");
        }
    

    调用方法的方式没有任何问题,因为主方法是static。您可以直接调用static方法,而不需要使用类等的任何对象