2016-10-07 4 views
-1

イム間のグレードのシリーズを構築し、私の教授がそのできるプログラムを書くために私たちを尋ねた:入力をユーザに要求するJavaアプリケーションのJavaプログラミングで非常に新しい0-100

は文字で各グレードを表示します。 (例:A、B、C、D、F) クラス の最小&平均等級を表示私は、配列を使用しようとしている

を(70+渡している)試験に合格した人の数を表示しますもしこれを解決するための文があれば、私はあまり進歩していません。みんなあなたを助けてくれますか?

私はコーディングがうまくいかないことを知っていますが、ここで私が試していることがあります。

私のコードに他の文が含まれていれば、簡単にすることができます。

ありがとうございます。

最小値は、ちょうどあなたの現在のいずれかのよう forループを使用し、使用して行われる検索
import java.util.Scanner; 

public class HelloWorld 
{ 

    public static void main (String[] args) 
    { 
    double[] grades = new double[10]; 
    int sum 

    Scanner scan = new Scanner (System.in); 
    System.out.println ("Number of students: " + grades.length); 

    for (int index = 0; index < grades.length; index++) 
    { 
     System.out.print ("Enter number " + (index+1) + ": "); 
     grades[index] = scan.nextDouble(); 
    } 
    } 
} 
+0

ご質問は_Java_程度であるため、JavaScriptタグを削除しました。 –

+0

ヒント:生徒の数(生徒の数はもちろん、生徒の数です)を知った後、ダブルスの配列を作成する必要があります。次に、ユーザーからの入力を読み込む際に、グレードが設定されるループを実行します。次に、最後の部分は、成績配列をループすることによって、あなたが探している値(合格者数、平均など)を取得するだけです。また、あなたが望むならば、グレード配列を塗りつぶした後に、あなたが望むほとんどのものを1つのループで処理することができます。 –

+1

あなたは何を求めていますか?あなたのためにこれの残りの部分をやってくれるように頼んでいるのなら、あなたは不運です。あなたが特定の部分にこだわっている場合、より具体的にすると、私たちは助けようとします。あなたはこれまでのところ良いスタートがあるようです。 – nhouser9

答えて

0

min = Math.min(min, grades[index]); 

平均はちょうどループ内の和を求めることで見つけることができます:

sum += grades[index]; 

次に値の数で除算します。


ループ内if文を発見することができる70+等級の数:


これらの操作の各々

if (grades[index] >= 70) { 
    numPassing++; 
} 
はまた、Java 8から DoubleStreamを用いて行うことができる。

double min = Arrays.stream(grades).min().orElse(0.0); 
double avg = Arrays.stream(grades).average().orElse(0.0); 
long numPassing = Arrays.stream(grades).filter(grade -> grade >= 70).count(); 
0

コードを少し修正しました。また、私はプロの機能を一切使用しませんでしたjavaに入っているので、フロー制御とロジックをjavaの初心者として理解することができます。

import java.util.Scanner; 

public class HelloWorld 
{ 

    public static void main (String[] args) 
    { 
    double[] marks = new double[10]; 
    char[] grades=new char[10]; 
    int[] numGradeStudent={0,0,0,0,0}; 
    int min=0,avg=0,minIndex=0; 

Scanner scan = new Scanner (System.in); 
System.out.println ("Number of students: " + grades.length); 

for (int index = 0; index < grades.length; index++) 
{ 
    //Taking marks then applying grades and counting no. of students 
    System.out.print ("Enter number " + (index+1) + ": "); 
    marks[index] = scan.nextDouble(); 
    if(marks[index]>90) 
    grades[index]='A'; 
    if(marks[index]>75 && marks[index]<=90) 
    grades[index]='B'; 
    if(marks[index]>65 && marks[index]<=75) 
    grades[index]='C'; 
    if(marks[index]>55 && marks[index]<=64) 
    grades[index]='D'; 
    else 
    grades[index]='E'; 

//Setting up graded students down from here 
if(grades[index]=='A') 
    numGradeStudent[0]++; 
if(grades[index]=='B') 
    numGradeStudent[1]++; 
if(grades[index]=='C') 
    numGradeStudent[2]++; 
if(grades[index]=='D') 
    numGradeStudent[3]++; 
if(grades[index]=='E') 
    numGradeStudent[4]++; 
} 
min=numGradeStudent[0]; 
for(int i=0;i<5;i++){ 
    if(numGradeStudent[i]<min){ 
     min=numGradeStudent[i]; 
     minIndex=i; 
    } 

} 
System.out.println("Min grade of class is:"+ grades[minIndex]); 
for(int i=0;i<10;i++){ 
    if(marks[i]>70) 
     System.out.println("Student "+(i+1)+" passed."); 
} 

}}

関連する問題