私は作成された配列の数を決定するfor-loopでプログラムを作成しました。私は昇順に各arreyを整理しなければならなかったので、私はこれを行う別のクラスを作成した(主催)、が、私はorginisedたら、各配列(メインクラスの配列コード)Javaで配列の値を整理して印刷する方法は?
をエクスポートする方法を知りません配列値の結果を計算して出力する必要があるarreys。
出力は次のようになります。
arrey値が同じであればarrey値は合計値が20
入力ラウンド追加squenceある場合、合計値は10
を追加:4
ラウンド1 - > 1 3 7合計値:11
ラウンド2 - > 1 4 5合計値:10
ラウンド3 - > 1 1つの合計値:13
ラウンド4 - > 1 2 3合計値:26
PS私はjava.Iで新しいですが、私は解に近いですが、私には理解できないと思いますこの問題を克服する方法を
主催クラス
public class Organizer {
// ---------------------- ATTRIBUTES ---------------------
protected int rand1;
protected int rand2;
protected int rand3;
// ------------------ CONSTRUCTOR -------------------
public Organizer(int o1, int o2, int o3) {
// This puts the three values from arrey in ascending order.
int tmp;
if (o2 < o1) {
tmp = o2;
o2 = o1;
o1 = tmp;
}
if (o3 < o2) {
tmp = o3;
o3 = o2;
o2 = tmp;
}
if (o2 < o1) {
tmp = o2;
o2 = o1;
o1 = tmp;
}
rand1 = o1;
rand2 = o2;
rand3 = o3;
}
// --------------------- METHODS ---------------------
// Accessor methods
public int getRand1() {
return rand1;
}
public int getRand2() {
return rand2;
}
public int getRand3() {
return rand3;
}
// Will return true if all values are the same.
// This depends on the values being ordered.
public boolean threeSame() {
return (rand1 == rand3);
}
// Will return true if we have a run e.g. "one, two, three", or "four, five, six".
// Again, this depends upon the values being ordered.
public boolean sequence() {
return (((rand1 + 1) == rand2) && ((rand2 + 1) == rand3));
}
public void printResult() {
if (threeSame())
System.out.println("The values are all the same.");
else if (sequence())
System.out.println("The values are a sequence.");
}
}
電卓クラス
public class Calculator extends Organizer {
public static int totalValue;
public void calcSumOfValues(int s1, int s2, int s3) {
int sumOfArrey;
sumOfArrey= s1 + s2 + s3;
}
public void calcSumOfExtraValues(int sumOfArrey) {
if (threeSame())
totalValue= sumOfArrey + 10;
else if (sequence())
totalValue= sumOfArrey + 20;
else
totalValue= sumOfArrey
}
public void printResult() {
System.out.println("round " + (r+1) + "--> " + randomArray [i] + "Total value" + totalValue );
}
}
メインクラス
import java.util.Scanner;
public class UserClass {
// ------------------- FIELDS ------------------------
// Create instance of Scanner class
public static Scanner input = new Scanner(System.in);
// variables
public static Organizer orga;
public static Calculator calc;
public static int randomArray [];
// ------------------ METHODS ------------------------
public static void main(String[] args) {
int rounds; // input by user
System.out.print("Please input number of rounds (grater or equal than 0) --> ");
rounds = input.nextInt();
System.out.print("\n");
for (int r = 0; r < rounds; r++) { // loop for number of rounds
int randomArray [] = new int [3];
for (int i = 0; i < randomArray.length; i++) { // loop for random Array
randomArray [i] = (int)(Math.random()*8);
}
}
// Create new organizer and calculator instances
orga = new Organizer(randomArray [0], randomArray [1], randomArray [2]);
calc = new Calculator();
//Calculate
calc.getRand1();
calc.getRand2();
calc.getRand3();
calc.threeSame();
calc.sequence();
calc.calcSumOfValues();
calc.calcSumOfExtraValues();
}//end Main Method
}// end Class
あなたは私の例 –
あなたは、あなたがその一つの列を通過することができる[] [] =新しいINT [回] [3] –
INTのような2次元配列を宣言することを与えることができますforループを使用して一度に生成し、数字を生成する –