aspose file tools*
The moose likes Beginning Java and the fly likes reading data from keyboard Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "reading data from keyboard" Watch "reading data from keyboard" New topic
Author

reading data from keyboard

krish reddy
Greenhorn

Joined: Sep 09, 2005
Posts: 10
this is a program which im trying for sum of a harmonic series, the value of n should be given by the keyboard.im confused
import java.io.DataInputStream;
class harmonic
{
public static void main(String args[])
{
DataInputStream in=new DataInputStream(System.in);
int n=0;
int i;
float sum=1;
try
{
System.out.println("Enter an interger: ");
n=Integer.parseInt(in.readLine());
}
catch(Exception e){}
for(i=1;i<=n;i++)
{
sum=sum+(1/i);
}
System.out.println("sum of harmonic series ="+sum);
}
}
the answer i always get is 2
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24187
    
  34

Hi,

Welcome to JavaRanch! The result of dividing an int by an int is an int; after the first one, your division always comes out to zero, as fractional parts are truncated.

Instead do something like



By making one of the operands a float, the result becomes a float.


[Jess in Action][AskingGoodQuestions]
krish reddy
Greenhorn

Joined: Sep 09, 2005
Posts: 10
thank u very much, the program is working now, i have been preparing for scjp and this has been a good start.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: reading data from keyboard