JAVA第9課題「第11章 - メソッドのオーバーロード - 代入 - セグメンテーション関数」

CGシステムURL:http://211.81.175.89

メソッドのオーバーロードとは

[問題の説明] 既知の区分関数式は次のとおりです。

Function クラスを定義します。このクラスには、各セグメンテーション状況の値を計算するための 4 つのオーバーロードされた f() メソッドが含まれています。

テストクラスを定義し、x、y、zの値の入力、条件の判定、結果の出力をmainメソッドで実現します。

main メソッドは次のように記述されていますが、main コードを変更しないと減点されるので注意してください。

【入力形式】 3 つの整数
【出力形式】 区分関数の計算結果を示す 1 つの整数
【入力例】

-1 5 7

【出力例】

0

【入力例】

2 -2 7

【出力例】

4

import java.util.Scanner;
class Function{
    public int f(){
        return 0;
    }
    public int f(int x){
        return x*x;
    }
    public int f(int x,int y){
        return x*x+y*y;
    }
    public int f(int x,int y,int z){
        return x*x+y*y+z*z;
    }
}
public class two {
    public static void main(String [] args){
        int x,y,z;
        Scanner in =new Scanner(System.in);
        x=in.nextInt();
        y=in.nextInt();
        z=in.nextInt();
        in.close();
        Function function=new Function();
        int result;
        if(x<0){
            result=function.f();
        }
        else if(x>=0 && y<0){
            result=function.f(x);
        }
        else if(x>=0 && y>=0 && z<0){
            result=function.f(x,y);
        }
        else{
            result = function.f(x,y,z);
        }

        System.out.println(result);

    }
}

おすすめ

転載: blog.csdn.net/qq_25887493/article/details/123982320