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);
}
}