こんにちは皆さん、基本的には 10 月に Java を始めたばかりで、ComScience をやっています。以下の点についてご協力いただければ幸いです。
注:私はまだコードを実際にレイアウトしていないので、いわば、構造化/コメントなどの前にプログラムを最初に機能させたいと思っていました。UULIB は大学図書館の名前です。
目的: 平均点以下の生徒の名前を見つけます。
これは、私が試して見つけるために以下で使用したコードですが、最初の [0] 配列番号をスキップし、1 つの名前のみを与えます。
import uulib.*;
public class Q3
{
public static void main(String[] args)
{
int class_number = Console.getInt("Enter how many students between 1-10");
while (class_number < 1 || class_number > 10)
class_number = Console.getInt("Enter how many students between 1-10");
System.out.println("");
String[] name = new String[class_number];
int[] score = new int[name.length];
for (int i=0; i<class_number; i=i+1)
{
name[i] = Console.getString("Enter Name");
score[i] = Console.getInt("Enter score");
if ( score[i] < average(score))
System.out.print(name[i] + " ");
}
System.out.println(" ");
System.out.println("Average mark = " + Num.format(average(score), 1 ));
System.out.println("Lowset mark = " +lowset(score) );
System.out.println("Highest mark = " +highestValue(score) );
System.out.println("Name of students with highest mark = " );
}
public static double average(int[] nums)
{
double total = 0;
for (int i=0; i<nums.length; i=i+1)
{
total = total + nums[i];
}
return total / nums.length;
}
public static int lowset(int[] nums)
{
int minimum = nums[0]; //sets the first to be the smallest
for (int i = 0; i < nums.length; i++) //goes through your array
{
if (nums[i] < minimum) //checks and replaces if necessary
{
minimum = nums[i];
}
}
return minimum;
}
private static int highestValue(int[] numbers)
{
int highest = numbers[0];
for (int i = 0; i < numbers.length; i++)
{
if (numbers[i] > highest)
{
highest = numbers[i];
}
}
return highest;
}
}