Loading...
Plamen27 avatar Plamen27 599 Точки

Ами реално на Java тази задача не можеш да я решиш, защото тя е пригодена за C# и очаква две значения от decimal. Такъв клас и тип в Java няма и точно такива числа не можеш да докараш на Java каквито иска C#.

Е все пак има едно Java "решение" и то е такова:

package ProgFundamentals;
 
public class FloatingPointNumbers {
    public static void main(String[] args){    


            System.out.println("3.141592653589793238");
            System.out.println("1.60217657");
            System.out.println("7.8184261974584555216535342341");

    }
}

1
15/10/2016 01:09:37
GeorgiStalev avatar GeorgiStalev 24 Точки

Благодаря много аз вчера се мъчех няколко часа и нищо накрая, И си помислих, че може би е само за C#  :) Но ти принтираш само три String и нищо повече.

0
15/10/2016 11:31:09
GeorgiStalev avatar GeorgiStalev 24 Точки

Вчера проблема ми беше как да прочета числото от конзолата като се опитвах с :

Scanner scan = new Scanner(System.in);
BigDecimal Decimal = scan.nextBigDecimal();

System.out.println(Decimal);

Всеки път ми даваше Exception :) И така прекарах целия ден в търсене на решение на проблема :)

В крайна сметка ме озари идеята, че мога да прочета числото от конзолата като String и след това да го форматирам или обърна в BigDecimal.

И Успях най - накрая :) Но решението работи в Конзолата но НЕ и в Judge системата :) ето го и него:

import java.math.*;
import java.util.Scanner;


public class p02_PracticeFloatingPointNumbers {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        String Decimal = scan.nextLine();
        BigDecimal myDecimal = null;
        myDecimal = new BigDecimal(Decimal);


        System.out.println(myDecimal);
    }
}
0
Plamen27 avatar Plamen27 599 Точки

Да прав си, ако минем през стринг за първа и трета цифра ще стане. Тогава решението ти ще изглежда така:

        Scanner scan = new Scanner(System.in);
        String Decimal1 = scan.nextLine();
        BigDecimal myDecimal1 = new BigDecimal(Decimal1);
        
        double myDouble = Double.parseDouble(scan.nextLine());

        String Decimal2 = scan.nextLine();
        BigDecimal myDecimal2 = new BigDecimal(Decimal2);

        System.out.println(myDecimal1);
        System.out.println(myDouble);
        System.out.println(myDecimal2);

За double си караме както трябва. Като workaround наистина става, макар, че става по-сложно. Задачата  е просто пригодена за C#, и там четеш 2 пъти decimal и 1 път double.

0
15/10/2016 15:51:50
martis avatar martis 1 Точки

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication112
{
    class Program
    {
        static void Main(string[] args)
        {
            decimal num1 = 3.141592653589793238m;
            double num2 = 1.60217657;
            decimal num3 = 7.8184261974584555216535342341m;

            Console.WriteLine(num1);
            Console.WriteLine(num2);
            Console.WriteLine(num3);
        }
    }
}

За c#, в случай, че някой не се е сетил.

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