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

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

c++ - qgraphicsview horizontal scrolling always has a vertical delta -