Write a method that will take a string containing integers and return the sum of the numbers present in the string. For example, given the string "10 2 20 30" should print 62.
SOLUTION:
import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.StreamTokenizer; import java.util.Scanner; public class BufferedReaderExample { public static void main(String[] args){ System.out.println("Please enter the string:"); String str = (new Scanner(System.in)).nextLine(); File file = new File("text.c"); try{ FileWriter fw = new FileWriter(file); fw.write(str); fw.close(); FileReader read = new FileReader(file); BufferedReader bf = new BufferedReader(read); StreamTokenizer stream = new StreamTokenizer(bf); int sum=0; while(stream.nextToken()!=StreamTokenizer.TT_EOF){ if(stream.ttype==StreamTokenizer.TT_NUMBER){ sum+=stream.nval; } } System.out.println("Sum = "+sum); }catch (Exception e) { System.out.println("Error!!"); } } }
No comments:
Post a Comment