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