Задача от Java


1

Здравейте,

Имам проблем със тази задачка.Знам как се решава на C++, обаче уча от скоро Java и искам да помоля за помощ :)

10. Напишете програма, която приема за вход четирицифрено число във формат abcd и след това извършва следните действия върху него:

-     Пресмята сбора от цифрите на числото.

-     Разпечатва на конзолата цифрите в обратен ред: dcba.

-     Поставя последната цифра, на първо място: dabc.

-     Разменя мястото на втората и третата цифра: acbd.




Отговори



2
Честно казано ако можеш на C++ трябва да можеш и на Java...



0
След като пиша тук значи не мога.Разликата между двата езика си е голяма.


0
Имаше я в някое от домашните в C# 1 мисля, или ако не е там е във C# 2 със сигурност, съответно няма начин да я няма във форума някъде.

от bstaykov (528 точки)


1

Здрасти,

Ако очакваш някой да реши задачата мисля, че няма да имаш успех. Пробвай стъпка по стъпка и щом можеш на C++ няма да имаш проблем.

- четеш, разделяш и сумираш. Може да ползваш лист или масив.

- пак лист и обръщяш

- пак лист и първите стават последни

- пак същата работа операция върху елементи в ограничен масив.


от deyan.todorov (1019 точки)


0
Добре, нека да кажа какво ме затруднява, за да не си правите труда да решавате цялата(може би беше и моя грешката).Искам да изведа числата (например в обратен ред). При C++ просто ще напиша cout<<d<<c<<b<<a;, а тук не знам как да го направя.Това ми е едва третата част от книгата за Java и не съм стигнал масиви в Java.


0

Решението е следното:

1. Seach in Google:

- how to read from console in Java

- how to save console input in array

etc.

Не искам да ти правя мечешка услуга, а прости се опитваме да ти кажем, че трябва да се научиш да търсиш, когато нещо не е ясно. И ако след много търсене и писане не се получава даваш код и питаш конкретно и всеки помага. Иначе няма смисъл. 

И аз нямам понятие как се решава полином, манхатановоо разстояние, питагорова теорема и тем подобни неща, които са били преди ехе години или въобще не са били :) ... , но търсиш в гугъгл намираш пишеш/триеш и се получава ... 


от deyan.todorov (1019 точки)


0

Тъпо е да се използва scanner ама като така на бързо мисля че те устройва:

Scanner input = new Scanner(System.in);
System.out.print("Enter four digit number: ");
int number = input.nextInt();
System.out.println(number);
     
int d = number % 10;
number  /= 10;
int c = number % 10;
number /= 10;
int b = number % 10;
number /= 10;
int a = number % 10;
       
System.out.printf("Sum is : %d ", a + b + c + d);
System.out.printf("\n%d%d%d%d", d, c, b, a);
System.out.printf("\n%d%d%d%d", d, a, b, c);
System.out.printf("\n%d%d%d%d", a, c, b, d);


от E.Mitev (178 точки)


0
Кой е по-добрия начин от Scanner ?


0
Това е кофтито на java, че има много неща за правене на едно и също. В крайна сметка трябва да почетеш доста за да разбереш кое е най-добро. Ако е за такава проста задачка scanner ти върши работа. Иначе за по-сложни проекти се ползва BuffredReader, DataInputStream. Като цяло може да се разгледаш в документацията на JAVA.

от E.Mitev (178 точки)


0
 Писал съм Java един ден, обаче ми изглежда доста стандартна задача. Не можеш ли да ги направиш на стринг, и после да ги манипулираш като Array LIst?

от ivan.mihov1 (4988 точки)


0
Да, но надали това е същността на задачата. Иначе по този начин със стринговете става много по лесно.

от E.Mitev (178 точки)

0

 На мен ми изглежда точно това. Казват му число, точно във формата abcd. Т.е. ввинаги четирицифрено, без дробна част и т.н.

 Как бих я решил аз на който и да е език.

-Намирам как на дадения език int се прави на стринг

-Намирам как стринг се прави на някакъв char масив

-Буквално следвам условието и разменям числата по индексите

Има ли някакви уловки или скрити условия, които забраняват тези манипулации? Не виждам да е записано, че трябва да се реши побитово или с някакъв извънземен алгоритъм.


от ivan.mihov1 (4988 точки)