debugging - Basic Java questions Scanning -
this basic java i'm struggling n00b style. prints out this
please enter '.' when want calculate 1 2 3 . numbers 1 2 3 sum is0the product is1
when supposed calculate sum , product of consecutive numbers. wrong id appreciate help!
main method
import java.util.*; public class numberscanned { public static void main(string[] args) { system.out.println("please enter '.' when want calculate"); scanner keyboard = new scanner(system.in); string scannedstring = keyboard.nextline(); scanning scanz= new scanning(scannedstring); while(!keyboard.nextline().equals(".")) { scanz.set(scannedstring); } keyboard.close(); system.out.println("numbers are"+scannedstring); scanz.printstate(); } } class scanning public class scanning { int num; int sum; int product; string userinput; public scanning(string userinput) { num=0; sum=0; product=1; this.userinput=userinput; } public void set(string userinput) { for(int index=0; index<userinput.length(); index++) { if(character.isdigit(userinput.charat(index))==true) { num=userinput.charat(index); sum+=num; product*=num; } else { index++; } } } public void printstate() { system.out.println("the sum is"+sum+"the product is"+product); } }
a few things at:
- we know
keyboard.nextline()
gets input console, checking it's validity (more importantly, when check it?). looking @ input or last line? isdigit
return true if passed in character number. want operate on numbers or characters infor
loop?- (a side note, happens if enter "1 10" in console?)
- a
for
loop automatically increment index @ end of loop, additional++
unnecessary
Comments
Post a Comment