私たちは、3つのdouble値を含むと考えられている行をスキャンして最大値を返すメソッドを開発することになっています。考えられるすべての例外をスローすることは許可されています。私はライン15標準入力から最大3つのdoubleを見つける
答えて
変更でエラーを抱えている
import java.util.Scanner;
public class s3dv {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
double entered;
System.out.println("Enter 3 values to find the maximum:");
entered = input.nextDouble();
System.out.println("Maximum is - " + getMaxValue(entered));
}
//Find maximum (largest) value in array using loop
public static double getMaxValue(double[] numbers){
double maxValue = numbers[0];
for(int i = 1; i < numbers.length; i++){
if(numbers[i] > maxValue){
maxValue = numbers[i];
}
}
return maxValue;
} // End getMaxValue method
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
double[] entered = new double[3];
System.out.println("Enter 3 values to find the maximum:");
for(int i=0;i<3;i++){
entered[i] = input.nextDouble();
}
System.out.println("Maximum is - " + getMaxValue(entered));
}
//Find maximum (largest) value in array using loop
public static double getMaxValue(double[] numbers){
double maxValue = numbers[0];
for(int i = 1; i < numbers.length; i++){
if(numbers[i] > maxValue){
maxValue = numbers[i]; } } return maxValue;
}
コードの貼り付けは、宿題に関する質問には理想的な答えではありません。 – sgowd
forループは0から始まらないのですか? – benfrasersimpson
いいえ、0番目の要素が既に変数maxValueに格納されているためです。 –
にあなたのコードあなたが与えることはできません。ここで
は、私がこれまで何をやったかでありますダブル・パラメータをメソッドに渡します。また、二重値を1回入力するようにユーザーに要求すると、その手順を繰り返す必要があります。これにあなたのmainメソッドを変更します(。)public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
double[] entered = new double[3];
int counter = 0;
while (counter != 3)
{
System.out.println("Enter a double value:");
entered[counter++] = input.nextDouble();
}
System.out.println("Maximum is - " + getMaxValue(entered));
}
あなたgetMaxValue()
方法はOKと思われる、しかしコンソールを使用カンマ(、)ではなくドットのからダブルスを入力するとき、あなたはInputMismatchException
をそうかもしれません。
質問をループすることはできません。 – Coolai
このメインコードは、単一のラインで3 double値を読み、それらを分割し、getMaxValue
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String userLine, lineSplitted[];
System.out.println("Enter 3 values to find the maximum:");
userLine = input.nextLine();
lineSplitted=userLine.split(" ");
double entered[]=new double[lineSplitted.length];
for (int i=0; i<lineSplitted.length; i++) entered[i]=Double.valueOf(lineSplitted[i]);
System.out.println("Maximum is - " + getMaxValue(entered));
}
に渡します、あなたが正確に取得しているエラーは何ですか? – greg84
ダブルスの配列を期待しているgetMaxValueにdoubleを渡しています... –
input.nextDouble()は配列を返しません。あなたはそれを修正する必要があります –