私の試験では質問がありました。最初はかなり簡単でした。私は、質問を説明してみましょう:単一のメソッドから複数の値を返す
ユーザーは、(アレイ)を入れたいどのように多くの整数を指定してください
数字は(トリッキー)
- 1500 -1500の間でなければなりません:メソッドを作成します。入力された数字の割合を計算します。パーセントは0、正、負です。 (このすべてが一つの方法は、文字列にノーリターン、文字列バッファにする必要があり、戻り値の結果はdouble値でなければなりません)
私は右のそれをやったと思うが、私はリアルタイムでそれをテストしたとき私が実行する問題は、0.0、0.0、0.0の値を返すということです。あるいは、値が同じ条件(例えば、すべてゼロ)にある場合にのみ、正しいパーセンテージを返します。
ここに私のコードです:(あなたがそれを理解することができれば幸いです)。私はちょうど興味がある、私はそれを解決する方法を知らない。私も静的メソッドで試してみましたが、私は同じ問題に遭遇します。
import java.util.Scanner;
public class nPNZ {
public int [] number;
public nPNZ (int [] n){
number = n;
}
public double [] allCalcs(){
int countPos = 0; int countNeg = 0; int countZero = 0;
for (int i = 0; i < number.length; i++) {
if (number[i] == 0) {
countZero++;
}else if (number[i] > 0){
countPos++;
}else{
countNeg++;
}
}
//0 = 0 ; 1 = positive ; 2 = negative
double total [] = new double [3];
total[0] = (countZero/number.length)*100;
total[1] = (countPos/number.length)*100;
total[2] = (countNeg/number.length)*100;
return total;
}
public static void main (String args[]){
//min 20 number, -1500 to 1500
Scanner input = new Scanner (System.in);
final int MIN_SIZE = 5;
int size = 0;
while(size < MIN_SIZE){
System.out.println("Specify the size of the array: ");
size = input.nextInt();
while(size<MIN_SIZE){
System.out.println("Size should be greater than: " + MIN_SIZE);
size = input.nextInt();
}
}
input.nextLine();
int num [] = new int [size];
for (int i = 0; i < num.length; i++) {
System.out.println("Write number " + (i+1) + " : ");
num[i] = input.nextInt();
while(num[i] < -1500 || num[i] > 1500) {
System.out.println("The number should within the range of -1500 and 1500");
num[i] = input.nextInt();
}
}
nPNZ n = new nPNZ (num);
System.out.println("Percentage of zero numbers is: " + n.allCalcs()[0]);
System.out.println("Percentage of positive numbers is: " + n.allCalcs()[1]);
System.out.println("Percentage of negative numbers is: " + n.allCalcs()[2]);
}
}
あなたはどのような問題に直面しましたか? –
私は5つの数字をすべて0、0、0、0、0と答えたら---出力から正しい質問を得る: 0のパーセンテージは100.0 正のnubersのPerzある:負の数の0.0 Percのがある:0.0 しかし、私は言って置く場合:0、0、0、3、-1 出力は、次のとおりです。ゼロの数字の Percのことである:正nubersの0.0 Perzは以下のとおりです。 0.0 負の数のパーセンテージ:0.0 –