What's new

Closed Need Help With Java Loops

Status
Not open for further replies.

Shinzenryu

Eternal Poster
Joined
Jun 4, 2015
Posts
1,395
Reaction
236
Points
335
So, yesterday natapos ko yung Zodiac sign project na ginagawa ko using If... else statements. Ngayon i decide to make another Zodiac Sign project but this time it's Chinese zodiacs. So i have already figured out kung paano yun gawin using string arrays and modulos like this:

import java.util.Scanner;

public class ChineseZodiacs {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

String[] yearSign = {"monkey", "rooster", "dog", "pig", "rat", "ox", "tiger", "rabbit", "dragon", "snake", "horse", "sheep"};

System.out.print("Enter a year: ");

int year = input.nextInt();

System.out.println(zodiacs[year % 12]);
}

}

Pero gusto kong gawin itong Chinese Zodiacs without using modulus and gamitin ang Loops. And i tried googling for examples and i found one pero di ko maintindihan ito yung code:


public static void main(String[] args) {

int year;

Scanner sc=new Scanner(System.in);

System.out.println("Enter a year");
year=sc.nextInt();

String[] yearSign = {"monkey", "rooster", "dog", "pig", "rat", "ox", "tiger", "rabbit", "dragon", "snake", "horse", "sheep"};

int j = 0;
for ( int i = 1000; i <=year; i++) {
if (j == yearSign.length) {
j=0;
}
j++;
}
System.out.println("Your Chinese Zodiac is "+yearSign[j-1]);

Bakit po kailangan mag intialize ng another iteration na j? and bakit kailanga sya i initialize twice? what does the variable j do? Pwede pa ba tong ma simplify but still using String Arrays and loops? Thank you po.
 
Last edited:
placeholder 'yung j, 'yung if conditional mismo na 'yung ang expanded version ng modulus, ang pinagkaiba lang ng modulus example mo sa code na nahanap mo, always 0 na agad pag mas mababa sa 1000, array out of bounds exception dahil sa j-1
 
placeholder 'yung j, 'yung if conditional mismo na 'yung ang expanded version ng modulus, ang pinagkaiba lang ng modulus example mo sa code na nahanap mo, always 0 na agad pag mas mababa sa 1000, array out of bounds exception dahil sa j-1
kailangan po ba twice yung j na i-initialize sa code na ito?
 
i say ang pinaka init. lang sa nakikita ko eh int j = 0 hindi dahil kasama siya ng variable identifier (int) kundi ito kasi yung pinaka unang line na dadaanan sa runtime para lagyan ng value si j, eto pa isang halimbawa ng initialization :
Code:
int j;
j = 0;

just remember pag initialization, pinakaunang beses na malalagyan ng value ang variable :), doon kasi sa if statement na j=0, ibinalik lang natin yung original ni j na 0
 
Last edited:
i say ang pinaka init. lang sa nakikita ko eh int j = 0 hindi dahil kasama siya ng variable identifier (int) kundi ito kasi yung pinaka unang line na dadaanan sa runtime para lagyan ng value si j, eto pa isang halimbawa ng initialization :
Code:
int j;
j = 0;

just remember pag initialization, pinakaunang beses na malalagyan ng value ang variable :), doon kasi sa if statement na j=0, ibinalik lang natin yung original ni j na 0
last dumb question po 😁. bakit po kailangan na mag init ng j, bakit hindi nalang gamitin yung na declare na year?
 
good point, kasi ang itinatanong "year", lagpas na sa array mo na may 12 items, eh diba ang need lang natin hanggang 12, kaya may for loop or modulus , as a method, para makuha yung number na tatama sa 0-11, kaya kailangan natin ng temporary placeholder, sa lagay ng code, yun 'yung "j"
 
good point, kasi ang itinatanong "year", lagpas na sa array mo na may 12 items, eh diba ang need lang natin hanggang 12, kaya may for loop or modulus , as a method, para makuha yung number na tatama sa 0-11, kaya kailangan natin ng temporary placeholder, sa lagay ng code, yun 'yung "j"
thank you so much po sa pag explain!
 
anu po ibig sabihin ng walang boolean?
walang if statement Ganun po ba yun?
nag try akong gawin to gamit ang loop kaso
Mas humaba yung code at parang hindi kaya na walang if statement.
ps. solo learn lang po ako pasensya kung may mali.

nshot_20200406_115209_com.duy.compiler.javanide.md.jpg nshot_20200406_115218_com.duy.compiler.javanide.md.jpg
 

Attachments

anu po ibig sabihin ng walang boolean?
walang if statement Ganun po ba yun?
nag try akong gawin to gamit ang loop kaso
Mas humaba yung code at parang hindi kaya na walang if statement.
ps. solo learn lang po ako pasensya kung may mali.

nshot_20200406_115209_com.duy.compiler.javanide.md.jpg nshot_20200406_115218_com.duy.compiler.javanide.md.jpg
sa line 20 ba tinutukoy mo?
 

Attachments

anu po ibig sabihin ng walang boolean?
walang if statement Ganun po ba yun?
nag try akong gawin to gamit ang loop kaso
Mas humaba yung code at parang hindi kaya na walang if statement.
ps. solo learn lang po ako pasensya kung may mali.

nshot_20200406_115209_com.duy.compiler.javanide.md.jpg nshot_20200406_115218_com.duy.compiler.javanide.md.jpg
thanks dito!
 

Attachments

Status
Not open for further replies.

Similar threads

Back
Top