該任務指出還有另一個類將調用此類。它與投注類似 - 選擇12個字符並將它們放入數組中,程序將輸出一組隨機字符。然後它會計算出有多少匹配。如何使用char數組參數有利於解決方案?
老師告訴我應該有char[]
類型的參數print()
方法和兩個在檢查方法,但我不明白他們的需要。沒有他奇怪的選擇,我可以做出類似的事情,但我堅持這一點。因此,我想知道,如果有人明白其中的原因。這是一種用戶輸入的方法,它是計算機生成的隨機數的一種方法,所以我不明白爲什麼我必須在其他方法上加一個參數。看不到這是一個合乎邏輯的選擇。
代碼來解決分配:
import java.util.Random;
import java.util.Scanner;
import java.util.Arrays;
public class Tipping
{
char[] ukensRekke;
public Tipping()
{
ukensRekke = new char[12];
}
public void WeekResult(){
String HBU = "HBU";
for(int i = 0; i < ukensRekke.length; i++){
ukensRekke[i] = HBU.charAt((int)(Math.random()*3));
}
}
public char[] getWeekResult(){
return ukensRekke;
}
public void print(char[] tastet){
tastet = new char[12];
for(int i = 0; i < tastet.length; i++){
System.out.print(tastet[i]);
}
}
public char[] register(){
Scanner scan = new Scanner(System.in);
char[] vinnerTall = new char[12];
for(int i = 0; i < vinnerTall.length; i++){
System.out.println("Skriv inn H,B eller U for kamp" + (i+1) + "; ");
vinnerTall[i] =scan.next().charAt(0);
System.out.println(vinnerTall[i]);
}
return vinnerTall;
}
public int check(char[] original, char[] tastet){
original = ukensRekke;
tastet = register();
return tastet.length;
}
}
UPDATE:你好,我是有些能夠解決的問題,但它仍然是一個點睛之筆。以下是我遇到問題的部分代碼,希望有人能幫助我。
System.out.println("Klassen Tipping instansieres...");
System.out.println();
System.out.println("Ukens rekke genereres...");
System.out.println();
System.out.println("Brukers rekke registreres.");
tp.register();
System.out.println();
System.out.println("Ukens rekke hentes...");
System.out.println();
System.out.println("Ukens rekke;");
tp.print(tp.getWeekResult());
System.out.println("Brukers rekke;");
tp.print(tp.register());
System.out.println();
System.out.println("Bruker hadde" + tp.check(tp.getWeekResult(),tp.register()) + "riktige tippetanger");
這是我用它來做一個有點像紙的類,它打印出屏幕上的內容,並讓用戶輸入,但最後兩個方法調用不起作用,程序只是跳過它並重新開始。
,這是我使用的代碼會從被稱爲:
public void WeekResult(){
String HBU = "HBU";
for(int i = 0; i < ukensRekke.length; i++){
ukensRekke[i] = HBU.charAt((int)(Math.random()*3));
}
}
public char[] getWeekResult(){
return ukensRekke;
}
public void print(char[] tastet){
System.out.print(taste);
}
public char[] register(){
Scanner scan = new Scanner(System.in);
char[] vinnerTall = new char[12];
for(int i = 0; i < vinnerTall.length; i++){
System.out.println("Skriv inn H,B eller U for kamp" + "; ");
vinnerTall[i] = scan.next().charAt(0);
}
return vinnerTall;
}
你目前的打印功能沒有任何意義,如果我說我知道它會打印什麼,我會說謊,但我保證我嘗試不會是你所期望的。 – Geoff
對不起,這是搞砸的代碼,它本來不是這種方式,但這是幾個小時的撓頭,試圖找出爲什麼應該在參數中有一個char [],我原來的代碼運行良好,但似乎並不像我的老師所希望的那樣 –
你正在傾向於從原來的問題轉移。我們只能在每個帖子上回答一個問題。 – progyammer