物事をよりよく説明するために、コード内の私のコメントを参照してください。基本的に以下の方法で問題があります。loadメソッドを実行することはできますが、ユーザーが入力した数値が実際に配列に格納されているかどうかはわかりません。
また、検索方法がおかしくなっていて、ループしていると思います。
詳細については、以下を参照してください。前もって感謝します。
import java.util.Scanner;
public class MyContainer {
private int[] values;
private int size;
public MyContainer(){
values=new int[50];
size=0;}
//Load Method - Display a message to the user
//and get positive intergers from user
public void load()
{
int input;
Scanner in = new Scanner(System.in);
System.out.println("Enter a series of positive integers (Negative to Terminate): ");
input=in.nextInt();
while (input >=0) {
values[size]=input;
size++;
input=in.nextInt();
}
}//End Load
//Compute Average from the above entered numbers
public double computeAverage() {
double avg= 0.0;
int count = 0;
while(values[size] >=0)
{avg = avg + values[size];
count++;
}
size = size + 1;
avg = avg / size;
return avg;
}
//Get user input to search for a number in the array
public boolean search(int myInt){
while(values[size] >=0) {
if (values[size] == myInt){
return true;}
else{
size++;}
}
return false;
}
//print the position of the number
public void print(){
for(int i=0;i>=size;i++) {
System.out.println("The number at position " + i + " is " + values[i]);
}
}
}
それが私が今まで持っているものです。上記のコンテナのテスタークラスも作成しました。
class Tester {
public static void main(String[] args) {
MyContainer in = new MyContainer();
in.load();
in.computeAverage();
in.search(); //i know for a fact this is wrong just stuck
in.print();
}
}
任意のアドバイス/ヘルプをいただければ幸いです。私の教授は教えるのがひどくて、本は物事を部分的にしか説明していません。