java - Can anybody make this code shorter using a loop? -
just short program figures out day in amount of days user inputs. have starting @ day 6 saturday. there way can shorter code using loop?
import java.util.scanner; class week{ public static void main(string args[]){ scanner input = new scanner(system.in); int days[] = {1,2,3,4,5,6,7,8}; string daynames[] = {"monday","tuesday","wednesday","thursday","friday", "saturday", "sunday"}; int numdays; system.out.println("enter how many days now: "); numdays = input.nextint(); numdays = (6 + numdays) % 7; if(numdays == 0){ system.out.println(daynames[6]); } else if(numdays == 1 ){ system.out.println(daynames[0]); } else if(numdays == 2){ system.out.println(daynames[1]); } else if(numdays == 3){ system.out.println(daynames[2]); } else if(numdays == 4){ system.out.println(daynames[3]); } else if(numdays == 5){ system.out.println(daynames[4]); } else if(numdays == 6){ system.out.println(daynames[5]); } } }
the following section:
if(numdays == 0){ system.out.println(daynames[6]); } else if(numdays == 1 ){ system.out.println(daynames[0]); } else if(numdays == 2){ system.out.println(daynames[1]); } else if(numdays == 3){ system.out.println(daynames[2]); } else if(numdays == 4){ system.out.println(daynames[3]); } else if(numdays == 5){ system.out.println(daynames[4]); } else if(numdays == 6){ system.out.println(daynames[5]); }
... trivially replaced with:
system.out.println(daynames[(numdays + 6) % 7)]);
Comments
Post a Comment