Loading...
Vincent avatar Vincent 11 Точки

Проблем с няколко задачи от домашното /Java/

Здравейте колеги, ако може да съдействате за решаването на няколко задачи от последното домашно Data Types and Variables.

1. 3 и 4 задача. какъв е еквивалента на Java за Convert.ToInt32(string, 16) и Convert.ToBoolean(string).

2. На 8 зача кода ми гърми и не знам защо. Правилно ли съм input-нал char-a?

import java.math.BigDecimal;
import java.util.Scanner;
public class Problem01 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String firstName= scanner.nextLine();
        String lastName= scanner.nextLine();
        byte age= Byte.parseByte(scanner.nextLine());
        char c = scanner.next().charAt(0);
        long personalID = Long.parseLong(scanner.nextLine());
        int number = Integer.parseInt(scanner.nextLine());

        System.out.printf("First name: %s%n", firstName);
        System.out.printf("Last name: %s%n", lastName);
        System.out.printf("Age: %d%n",age);
        System.out.printf("Gender: %c",c);
        System.out.printf("Personal ID: %d%n", personalID);
        System.out.printf("Unique Employee number: %d%n",number);
    }
}

3. На 10 задача нещо с Big Intiger не мога да се оправя и ми превърта последното число.

import java.util.Scanner;
import java.math.BigInteger;

public class bhmhbk {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        byte cenuries = Byte.parseByte(scanner.nextLine());
        int yers = (int) (cenuries*100);
        int days= (int)((double)yers * 365.2422);
        int hours=days*24;
        int minutes=hours*60;
        long seconds=minutes*60l;
        long milliseconds= seconds*1000l ;
        long microseconds =milliseconds*1000l ;
        BigInteger nanoseconds = new BigInteger(String.valueOf(microseconds*1000));

        System.out.print(cenuries);
        System.out.print(" centuries = ");
        System.out.print(yers);
        System.out.print(" years = ");
        System.out.print(days);
        System.out.print(" days = ");
        System.out.print(hours);
        System.out.print(" hours = ");
        System.out.print(minutes);
        System.out.print(" minutes = ");
        System.out.print(seconds);
        System.out.print(" seconds = ");
        System.out.print(milliseconds);
        System.out.print(" milliseconds = ");
        System.out.print(microseconds);
        System.out.print(" microseconds = ");
        System.out.print(nanoseconds);
        System.out.print(" nanoseconds");
    }
}
Тагове:
0
Fundamentals Module
boyan_georgiev avatar boyan_georgiev 62 Точки

Здравей,

1. Еквивалентите на Java са следните: Integer.parseInt(string, 16), Long.parseLong(string, 16) ако искаш да парсваш long и т.н., проблемът ти най-вероятно идва от това, че входните данни са като за C#, за да парснеш в Java трябва да махнеш "0x" от началото на стринговете; Boolean.parseBoolean(string) ще парсне към bool.

2. Проблемът идва от реда, където четеш char-a, трябва да е - scanner.nextLine().charAt(0); При scanner.next().charAt(0) оставаш на същия ред, а числата се подават на следващия, затова хвърля exception. Когато принтираш char-a също трябва да минеш на нов ред.

3. Стойността, която подаваш в конструктора на BigInteger - microseconds*1000, вече е превъртяла. Трябва да подадеш microseconds, и така полученият BigInteger да умножиш по 1000. В моето решение съм ползвал BigInteger и за microseconds за подсигуряване, не съм тествал дали е наистина необходимо.

Ако искаш разгледай решенията ми - https://github.com/Chaosfirebolt/ProgrammingFundamentals-Java/tree/master/src/dataTypesVariables_Exe

1
Vincent avatar Vincent 11 Точки

Благодаря ти, много ми помогна!

 

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