Професионална програма
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 4485 Точки

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

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