Loading...
fredadum avatar fredadum 3 Точки

Exact Sum of Real Numbers(PROBLEM#3 DataTypes&Methods Lab) RunTime Error in JAVA

Опитвам се да реша задачата за точен сбор на определен брой реални числа на Java като използвам класа BigDecimal поради липсата на примитивен тип decimal, но в джъджа винаги излиза RunTime Error на всички тестове. Дали някой има идея какво точно не е наред в следващия код?

import java.util.Scanner;
import java.math.BigDecimal;

public class ExactSum
{
    public static void main( String[] args )
    { 
            int n = Integer.parseInt(new Scanner(System.in).nextLine());
            
            BigDecimal sum  = new BigDecimal("0");
            
            for(int i = 1; i <= n; i++)
            {
                BigDecimal d  = new BigDecimal(new Scanner(System.in).nextLine());  
                sum = sum.add(d);
            }
            
            System.out.println(sum);
                    
    }
}

 

Тагове:
0
Fundamentals Module
Filkolev avatar Filkolev 4482 Точки

Един скенер ти трябва, не е правилно това, което правиш с инициализиране на нов всеки път, когато ти потрябва. Дали това е причината не мога да кажа, понеже не даваш никаква допълнителна информация.

0
fredadum avatar fredadum 3 Точки

Благодаря за бързия  отговор! Това е бил проблемът наистина. Промених програмката, както каза, и вече работи за 100 точки.

import java.util.Scanner;
import java.math.BigDecimal;

public class ExactSum
{
    public static void main( String[] args )
    { 
        Scanner scan = new Scanner( System.in );
    
        int n = Integer.parseInt( scan.nextLine() );
            
        BigDecimal sum  = new BigDecimal( "0" );
            
        for( int i = 1; i <= n; i++ )
        {
            BigDecimal d  = new BigDecimal( scan.nextLine() );  
            sum = sum.add( d );
        }
            
        System.out.println( sum );                
    }
}

 

Мерси още веднъж!

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.