我々はそうのような二重の配列があるとします。(Java)のアレイ内の2台の最も最大値の積を作る
double [] array=new double[5]
ユーザーが配列に格納された値を入力します。私の仕事は、配列内の2つの最大値の積を求めることです。
どうすればよいですか?
ありがとうございました。
我々はそうのような二重の配列があるとします。(Java)のアレイ内の2台の最も最大値の積を作る
double [] array=new double[5]
ユーザーが配列に格納された値を入力します。私の仕事は、配列内の2つの最大値の積を求めることです。
どうすればよいですか?
ありがとうございました。
static Scanner read = new Scanner(System.in);
public static void main(String[] args) {
double[] array = new double[5];
System.out.println("enter number");
//for loop to fill array
for (int i = 0; i < array.length; i++) {
array[i] = read.nextDouble();
}
double max1 = 0;
//for loop to find first max value
for (int i = 0; i < array.length; i++) {
if (array[i] > max1) {
max1 = array[i];
}
}
double max2 = 0;
//for loop to find second max value
for (int i = 0; i < array.length; i++) {
if (array[i] > max2 && array[i] != max1) {
max2 = array[i];
}
}
System.out.println("the product of two most maximum value is " + (max1 * max2)); // the product of two max value
// end main
}
あなたはフォーマットを修正していただけますか?読むのはとても難しいです。 –
@rubaあなたのプログラムは100.0を2度返します 'double [] array = {100、6、3、99、8};そしてあなたが見るでしょう:) –
@Khezar Bangashこの値を100にしようとすると、 5、6、9、3とこのプログラムを返すものを確認してください! –
import java.util.Arrays;
import java.util.Collections;
class Test {
public static void main(String args[]) {
double array[] = {2, 98, 1, 5, 3, 6};
for (int i = 0; i < array.length; i++) {
for (int j = i + 1; j < array.length; j++) {
if (array[j] > array[i]) {
double temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
double product = array[0] * array[1];
System.out.println(product);
}
}
PS:私はArrays.sort()
方法は、それはタイプのために働くdouble型では動作しませんことを知って来たよう
私は私の以前の回答を編集した: - int
、byte
を、short
、char
をまたはobject[]
アレイのみ。
配列を降順でソートし、0番目と1番目のインデックス要素を掛けます。それはより簡単です。 – Jobin
import java.util.Scanner;
public class HelloWorld{
public static void main(String []args){
Scanner scan = new Scanner(System.in);
double[] array = new double[5];
for(int i = 0; i<5; i++)
{
array[i] = scan.nextDouble();
}
double max = array[0];
for(int i= 1; i<5; i++)
{
if(array[i] > max)
{
max = array[i];
}
}
double prev = array[0];
for(int i= 1; i<5; i++)
{
if(array[i] > prev && array[i] < max)
{
prev = array[i];
}
}
System.out.println(max*prev);
}
}
あなたは最大値と配列の第2の最大値の積を意味しますか? –
はいいいえrafiカマール –
2つの最高値の製品、または2つの値を持つ最高の製品をアレイから取り出したいですか? –