Ok so I'm doing some practice questions, and this one is trippin me up a bit. I need to create an array that stores data 0.0, 0.1, 0.2, 0.3, all the way to 20.0. Then I have to compute the sums of the elements that are not integers (i.e 0.0, 1.0, 2.0, 3.0...onward to 20.0).

this is what I have come up with so far...but I am unsure if this is truly the most efficient way or even entirely correct. suggestions/help greatly appreciated! our class textbook is entirely out of date and useless

``````class Test1{

public static void main(String[] args){

double[] array = new double[201];
for (int i = 0; i <= 200; i++){
array[i] = i/10.0;
//System.out.println(array[i]);
}
int sum = 0;
sum = 0;
for (int i = 0; i < array.length; i++){
if(array[i]!=(int)(array[i])){//array[i]is not int
sum += array[i];
}
}
System.out.print(sum);

}
}``````

Edited by peter_budo: Correcting code tags. Please use as [code]YOR CODE HERE[/code].

3
Contributors
7
Replies
10
Views
8 Years
Discussion Span

Learn to use code tags. click the CODE button, when making a post.

Always do this:

``````double[] array = new double[201];
for (int i = 0; **i < array.length**; i++){
``````

when you print the array values, do you get what you wanted? Is the total sum correct? The code looks ok, What errors do you get?
Calculate the sum with a piece of paper and see if the sum is correct.

Edited by happygeek: fixed formatting

javaaddict when he does that wouldn't it return an array out of bounds exception error?

Edited by happygeek: fixed formatting

javaaddict when he does that wouldn't it return an array out of bounds exception error?

NO, NO, ..... NO.

Why would it?
In java indexes start from 0 till length-1: `i=0;i<array.length;`

NO, NO, ..... NO.

Why would it?
In java indexes start from 0 till length-1: `i=0;i<array.length;`

Well i tried it and it did...must have been something i did :P

Well i tried it and it did...must have been something i did :P

What kind of code did you use? Because I find it strange and I am curius.

What kind of code did you use? Because I find it strange and I am curius.

``````class Test1{

public static void main(String[] args){

double[] array = new double[201];

for (int i = 0; i <= array.length; i++){

array[i] = i/10.0;
//System.out.println(array[i]);
}

int sum = 0;
sum = 0;

for (int i = 0; i < array.length; i++){

if(array[i]!=(int)(array[i]))
{
//array[i]is not int
sum += array[i];
}
}

System.out.print(sum);

}

}``````

I used this code, but i'm pretty sure its the same code as JAK3CAL except I replaced the first for loop middle statement with < array.length.

Maybe I messed up somewhere i don't know :P

This: `for (int i = 0; i <= array.length; i++)` Will throw an Exception. (i=0, ..., array.length)

This: `for (int i = 0; i < array.length; i++)` Will NOT throw an Exception. (i=0, ..., array.length-1)

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.