关于方法的分割(Java)

将方法分解为几个步骤

我写了冗长的代码,导致可读性变差。
我想按照以下步骤来拆分方法。

    1. 创建printData方法和fullName方法。

 

    1. 编写fullName方法的代码。

 

    1. 编写printData方法的代码。

 

    编写调用printData方法的代码。
import java.util.Scanner;

class Main {
  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);

    System.out.print("名前:");
    String firstName = scanner.next();

    System.out.print("名字:");
    String lastName = scanner.next();

    String name = firstName + " " + lastName;

    System.out.print("年齢:");
    int age = scanner.nextInt();

    System.out.print("身長(m):");
    double height = scanner.nextDouble();

    System.out.print("体重(kg):");
    double weight = scanner.nextDouble();

    System.out.println("名前は" + name + "です");
    System.out.println("年齢は" + age + "歳です");
    if (age >= 20) {
      System.out.println("成年者です");
    } else {
      System.out.println("未成年者です");
    }
    System.out.println("身長は"+ height + "mです");
    System.out.println("体重は" + weight + "kgです");
  }
}

创建printData方法和fullName方法

首先,创建printData方法和fullName方法。
内部内容可以为空。

import java.util.Scanner;

class Main {
  public static void main(String[] args) {
       //長いので省略
  }
  public static void printData(String firstName, String lastName, int age, double height, double weight) {
  }
  public static String fullName(String firstName, String lastName) {
  }
}

請描述fullName方法的內容

将 firstName 和 lastName 进行连接,作为 fullName 方法的返回值。

import java.util.Scanner;

class Main {
  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);

    System.out.print("名前:");
    String firstName = scanner.next();

    System.out.print("名字:");
    String lastName = scanner.next();

    // 不要になったので削除です↓
    //String name = firstName + " " + lastName;

    System.out.print("年齢:");
    int age = scanner.nextInt();

    System.out.print("身長(m):");
    double height = scanner.nextDouble();

    System.out.print("体重(kg):");
    double weight = scanner.nextDouble();

    System.out.println("名前は" + name + "です");
    System.out.println("年齢は" + age + "歳です");
    if (age >= 20) {
      System.out.println("成年者です");
    } else {
      System.out.println("未成年者です");
    }
    System.out.println("身長は"+ height + "mです");
    System.out.println("体重は" + weight + "kgです");
  }
  public static void printData(String firstName, String lastName, int age, double height, double weight) {
  }
  public static String fullName(String firstName, String lastName) {
    // firstName と lastName を連結し、fullNameメソッドの戻り値とします
    return firstName + " " + lastName;
  }
}

请写下printData方法的内容。

使用fullName方法输出全名。同时,从main方法中复制粘贴其他输出,如年龄等。

import java.util.Scanner;

class Main {
  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);

    System.out.print("名前:");
    String firstName = scanner.next();

    System.out.print("名字:");
    String lastName = scanner.next();

    System.out.print("年齢:");
    int age = scanner.nextInt();

    System.out.print("身長(m):");
    double height = scanner.nextDouble();

    System.out.print("体重(kg):");
    double weight = scanner.nextDouble();

    // 不要になったので削除です↓

    // System.out.println("名前は" + name + "です");
    // System.out.println("年齢は" + age + "歳です");
    // if (age >= 20) {
    //  System.out.println("成年者です");
    // } else {
    //  System.out.println("未成年者です");
    // }
    // System.out.println("身長は"+ height + "mです");
    // System.out.println("体重は" + weight + "kgです");
  }

  public static void printData(String firstName, String lastName, int age, double height, double weight) {

    // fullNameメソッドを呼び出し、出力
    System.out.println("名前は" + fullName(firstName, lastName) + "です");

    // 年齢を出力(mainメソッドからコピペ)
    System.out.println("年齢は" + age + "歳です");

    // 未成年か否かの条件分岐(mainメソッドからコピペ)
    if (age >= 20) {
      System.out.println("成年者です");
    } else {
      System.out.println("未成年者です");
    }

    // 身長と体重を出力(mainメソッドからコピペ)
    System.out.println("身長は" + height + "mです");
    System.out.println("体重は" + weight + "kgです");
  }

  public static String fullName(String firstName, String lastName) {
    return firstName + " " + lastName;
  }
}

调用printData方法的代码。

我们将在main方法中添加调用printData方法的代码。

import java.util.Scanner;

class Main {
  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);

    System.out.print("名前:");
    String firstName = scanner.next();

    System.out.print("名字:");
    String lastName = scanner.next();

    System.out.print("年齢:");
    int age = scanner.nextInt();

    System.out.print("身長(m):");
    double height = scanner.nextDouble();

    System.out.print("体重(kg):");
    double weight = scanner.nextDouble();

    // printDataメソッドを呼び出します
    printData(firstName, lastName, age, height, weight);
  }

  public static void printData(String firstName, String lastName, int age, double height, double weight) {
    System.out.println("名前は" + fullName(firstName, lastName) + "です");
    System.out.println("年齢は" + age + "歳です");
    if (age >= 20) {
      System.out.println("成年者です");
    } else {
      System.out.println("未成年者です");
    }
    System.out.println("身長は" + height + "mです");
    System.out.println("体重は" + weight + "kgです");
  }

  public static String fullName(String firstName, String lastName) {
    return firstName + " " + lastName;
  }
}

我认为通过这样做,可读性有所改善。

bannerAds