0
моя программа почти готова к работе. Думаю, однако, что я не могу представить сумму как число «3.2» или «5.2». По какой-то причине он возвращает значения только как 2.0 или 3.0 или 4.0, например целые числа с 0. в конце. Любая помощь?Java: Ошибка: Возможная потеря точности
import java.io.Console;
import java.util.Scanner;
/**
*
* @author binka
*/
public class Samelson_Lincoln_Lab6 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Scanner in = new Scanner(System. in);
System.out.println("Please enter a number?");
int number = in .nextInt();
double[] array = new double[number];
System.out.println();
int sign = 0;
double term = 0;
for (int i = 1; i < array.length; i++) {
if (sign == 0) {
term = Math.abs((4.0/((2.0 * i) - 1.0)));
array[i] = term;
sign = 1;
} else if (sign == 1) {
term = ((4.0)/((2.0 * i) - 1));
array[i] = -term;
sign = 0;
}
System.out.println(array[i]);
}
boolean choice = true;
while (choice = true) {
System.out.println("Would you like to see the sum?: (Y or N)");
String choicesum = in .next();
choicesum.toUpperCase();
if ("Y".equals(choicesum)) {
double sum = computeSum(array);
System.out.println("Your sum is: " + sum);
choice = false;
break;
} else if ("N".equals(choicesum)) {
System.out.println("See ya!");
choice = false;
break;
} else {
System.out.println("Not a correct response, try again!");
}
}
}
public static int computeSum(double[] array) {
double sum = 0;
for (int i = 0; i < array.length; i++) {
sum = sum + array[i];
}
return sum;
}
}
Спасибо так много. Это именно то, что я искал. – Binka
Возможно, вы хотите показать некоторую любовь к SO и принять ответ? –
новый на этом сайте, как мне это сделать? О, большая галочка, поняла :) – Binka