שימוש בRandon בJava - בלי שתהיה חזרתיות

java

משתמש סופר מקצוען
מנוי פרימיום
הנדסת תוכנה
אם הבנתי נכון, אתה רוצה להשתמש בזה בתוך מערכים.
אז בהגדרת המשתנים תכתוב כך: (עם סוגריים מרובעים לציון מצביע על מערך)
Java:
String[] wordToCheck;
String[] wordToView;
בדיוק.
כי שמת שם מערך להדפסה, ולהשוואה.
צריך לתת מערך עם מיקום.
אם אני זוכרת נכון, זה משתנה בין שפה סטטית (כמו java) לשפה דינמית (js)
אז תראה לו איך צריך לכתוב.
 

תודה לפרוג

משתמש פעיל
GPT מעולה ממש!
לאחרונה העלתי לי דרישות של פרויקט לא ארוך והוא גינרט לי את כל המחלקות!
לפעמים יש לו פה ושם נפילות, אבל בגדול הוא ממש טוב!
 

ARD

משתמש פעיל
לא הבנתי מה הענין בהגדרת המצביעים האלה, אם תמיד אתה רוצה להציג מילים בעברית.
Java:
if (selectArray == 0) {
    wordToView = word_new;
    wordToCheck = word_orig;
} else {
    wordToView = word_orig;
    wordToCheck = word_new;               
}

ואם לא, המצביעים לעיל הם כדי שיוכלו להשתמש כל פעם באותו שם של מערך, רק שכל פעם המצביע יהיה על מערך אחר, לפי הצורך.
מה שראיתי פה שאתה רוצה לשמור את המילה במיקום הנבחר ולהציג אותה, לכן פה שיניתי, שהמילה תהיה מהמערכים לעיל, במיקום הנבחר. (תכלס לפי הקוד הקודם תמיד הוא הציג מילים באנגלית, אז מה עשינו פה?)
Java:
String word_orig = wordToView[position];
String word_new = wordToCheck[position];
System.out.println("the word in Hebrew: " + word_orig);
System.out.println("Enter translate");
answer = in.next();
if (answer.equals(word_new)) {
System.out.println("success!");
 score++;
} else {
System.out.println("Error!");
System.out.println("Real translate is: " + word_new);
}

אם לא הבנתי אשמח להבהרה.
 

TzipiR

משתמש פעיל
הוא רוצה שלפעמים יציג מילה בעברית ולפעמים מילה באנגלית, רנדומלי,
ובכל פעם המשתמש יצטרך להכניס את התרגום
 

ARD

משתמש פעיל
זה אמור להיות כך:
Java:
    wordToView = word_new[position];
    wordToCheck = word_orig[position];
דווקא זה אמור להיות כך.
Java:
String word_orig = wordToView[position];
String word_new = wordToCheck[position];
המצביעים האלה: wordToView ו wordToCheck. מצביעים כל פעם על מערך אחר (אנגלית או עברית) עפ"י הגרלה.
המשתנים האלה: word_orig וword_new, הן המילים להצגה ותרגום.
 

TzipiR

משתמש פעיל
הפוך בדיוק.....
1717343081637.png
 

ARD

משתמש פעיל
יש לו שם טעות.
הוא לא הגדיר את המשתנים כמצביעים על מערך

.
אח"כ זה תוקן:

בעצם את המצביעים הם כדי להימנע מקוד כפול.
הוא רוצה שכל פעם יוגרל מערך שממנו תוצג מילה, ויצטרכו לתרגם למילה מהמערך השני.
אם הוא לא יצור מצביעים כאלה, אתה הקוד הוא יצטרך לכתוב גם בif וגם בelse. כי איך ידע באיזה מערך כעת משתמשים??
המצביעים האלה יכולים להצביע כל פעם כל מערך אחר להצגה, בלי לחזור על הקוד פעמיים.
 

TzipiR

משתמש פעיל
אפשר ככה:
Java:
            int selectArray = random.nextInt(2);
            String wordOrig = wordsOrig[position];
            String wordNew = wordsNew[position];
            if (selectArray == 0) {
                System.out.println("The word in Hebrew: " + wordOrig);
            } else {
                System.out.println("The word in English: " + wordNew);
            }
 

ARD

משתמש פעיל
אפשר ככה:
Java:
            int selectArray = random.nextInt(2);
            String wordOrig = wordsOrig[position];
            String wordNew = wordsNew[position];
            if (selectArray == 0) {
                System.out.println("The word in Hebrew: " + wordOrig);
            } else {
                System.out.println("The word in English: " + wordNew);
            }
אבל אז כל פעם התרגום יהיה משפה א' לשפה ב'.
והוא רוצה שיוכלו לתרגם גם משפה ב' לשפה א'.
 

TzipiR

משתמש פעיל
אבל אז כל פעם התרגום יהיה משפה א' לשפה ב'.
והוא רוצה שיוכלו לתרגם גם משפה ב' לשפה א'.
לא
זה לשתי השפות
תריץ/י את הקוד הזה ותראה/י.....

מצ"ב קוד דו צדדי (רנדומלי, לפעמים בעברית ולפעמים באנגלית)
Java:
import java.util.Scanner;
import java.util.Random;
public class Test {
    public static void main(String[] args) {
        int score = 0;
        final int MAX_QUESTIONS = 10;
        Scanner inputScanner = new Scanner(System.in);
        Random random = new Random();
        boolean[] usedWords = new boolean[20];
        String[] wordsOrig = {"father", "mother", "brother", "sister", "grandfather", "grandmother", "uncle", "aunt", "nephew", "niece", "diamond", "friend", "family", "good", "bad", "true", "false", "computer", "beautiful", "ugly"};
        String[] wordsNew = {"אבא", "אמא", "אח", "אחות", "סבא", "סבתא", "דוד", "דודה", "אחיין", "אחיינית", "יהלום", "חבר", "משפחה", "טוב", "רע", "אמת", "שקר", "מחשב", "יפה", "מכוער"};
        for (int i = 0; i < MAX_QUESTIONS; i++) {
            int position = random.nextInt(wordsOrig.length);
            while (usedWords[position]) {
                position = random.nextInt(wordsOrig.length);
            }
            usedWords[position] = true;
            int selectArray = random.nextInt(2);
            String wordOrig = wordsOrig[position];
            String wordNew = wordsNew[position];
            if (selectArray == 0) {
                System.out.println("The word in Hebrew: " + wordOrig);
            } else {
                System.out.println("The word in English: " + wordNew);
            }

            System.out.println("Enter translation:");
            String answer = inputScanner.nextLine();
            if ((selectArray == 0 && answer.equals(wordNew)) || (selectArray == 1 && answer.equals(wordOrig))) {
                System.out.println("Success!");
                score++;
            } else {
                System.out.println("Error!");
                System.out.println("Correct translation is: " + wordOrig);
            }
        }
        System.out.println("Your score: " + score + "/" + MAX_QUESTIONS);

    }

}
 

אולי מעניין אותך גם...

הפרק היומי

הפרק היומי! כל ערב פרק תהילים חדש. הצטרפו אלינו לקריאת תהילים משותפת!


תהילים פרק כט

א מִזְמוֹר לְדָוִד הָבוּ לַיהוָה בְּנֵי אֵלִים הָבוּ לַיהוָה כָּבוֹד וָעֹז:ב הָבוּ לַיהוָה כְּבוֹד שְׁמוֹ הִשְׁתַּחֲווּ לַיהוָה בְּהַדְרַת קֹדֶשׁ:ג קוֹל יְהוָה עַל הַמָּיִם אֵל הַכָּבוֹד הִרְעִים יְהוָה עַל מַיִם רַבִּים:ד קוֹל יְהוָה בַּכֹּחַ קוֹל יְהוָה בֶּהָדָר:ה קוֹל יְהוָה שֹׁבֵר אֲרָזִים וַיְשַׁבֵּר יְהוָה אֶת אַרְזֵי הַלְּבָנוֹן:ו וַיַּרְקִידֵם כְּמוֹ עֵגֶל לְבָנוֹן וְשִׂרְיֹן כְּמוֹ בֶן רְאֵמִים:ז קוֹל יְהוָה חֹצֵב לַהֲבוֹת אֵשׁ:ח קוֹל יְהוָה יָחִיל מִדְבָּר יָחִיל יְהוָה מִדְבַּר קָדֵשׁ:ט קוֹל יְהוָה יְחוֹלֵל אַיָּלוֹת וַיֶּחֱשֹׂף יְעָרוֹת וּבְהֵיכָלוֹ כֻּלּוֹ אֹמֵר כָּבוֹד:י יְהוָה לַמַּבּוּל יָשָׁב וַיֵּשֶׁב יְהוָה מֶלֶךְ לְעוֹלָם:יא יְהוָה עֹז לְעַמּוֹ יִתֵּן יְהוָה יְבָרֵךְ אֶת עַמּוֹ בַשָּׁלוֹם:
נקרא  5  פעמים

אתגר AI

הווי משפחתי • 4

לוח מודעות

למעלה