Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2020, 16:58   #1
Ильюха1
Пользователь
 
Регистрация: 04.04.2011
Сообщений: 92
По умолчанию Помогите с циклом .

Всем привет . Не давно начал заниматься с JAVA . Вот так работает


import java.util.Scanner;

public class Kredit {
public static void main(String[]args)
{
Scanner scanner=new
Scanner(System.in);
int amount=scanner.nextInt();
double proc;
double ost;
double ost1;
double ost2;
double ost3;
double ost4;
double ost5;
double ost6;
double ost7;
double ost8;
double ost9;

proc=amount/10;
ost=amount-proc;
System.out.println("Вы должны заплатить "+proc+"В этом месяце." +
"Вам осталось заплатить"+ost);
ost1=ost-proc;
System.out.println("Вы должны заплатить "+proc+"В этом месяце." +
"Вам осталось заплатить"+ost1);
ost2=ost1-proc;
System.out.println("Вы должны заплатить "+proc+"В этом месяце." +
"Вам осталось заплатить"+ost2);
ost3=ost2-proc;
System.out.println("Вы должны заплатить "+proc+"В этом месяце." +
"Вам осталось заплатить"+ost3);

ost4=ost3-proc;
System.out.println("Вы должны заплатить "+proc+"В этом месяце." +
"Вам осталось заплатить"+ost4);
ost5=ost4-proc;
System.out.println("Вы должны заплатить "+proc+"В этом месяце." +
"Вам осталось заплатить"+ost5);
ost6=ost5-proc;
System.out.println("Вы должны заплатить "+proc+"В этом месяце." +
"Вам осталось заплатить"+ost6);
ost7=ost6-proc;
System.out.println("Вы должны заплатить "+proc+"В этом месяце." +
"Вам осталось заплатить"+ost7);
ost8=ost7-proc;
System.out.println("Вы должны заплатить "+proc+"В этом месяце." +
"Вам осталось заплатить"+ost8);
ost9=ost8-proc;
System.out.println("Вы должны заплатить "+proc+"В этом месяце." +
"Вам осталось заплатить"+ost9);

А вот так нет

mport java.util.Scanner;

public class kredit2 {
public static void main(String[]args)
{
Scanner scanner=new
Scanner(System.in);
int amount=scanner.nextInt();
double proc;
double ost;

proc=amount/10;
ost=amount-proc;
for(ost=amount;ost>0;ost--){
System.out.println("Вы должны заплатить "+proc+"руб. В этом месяце." +
"Вам осталось заплатить"+ost);
}
}
поясните почему ?
Ильюха1 вне форума Ответить с цитированием
Старый 11.12.2020, 17:12   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

ost надо не на 1, а на proc уменьшать, наверное. Лучше цикл while для такого использовать
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 13.12.2020, 02:46   #3
Ильюха1
Пользователь
 
Регистрация: 04.04.2011
Сообщений: 92
По умолчанию

Вот какая шляпа выходит . Вопрос почему компилятор не видит переменную ost ?
Изображения
Тип файла: jpg Screenshot_20201213_083951.jpg (73.7 Кб, 3 просмотров)
Ильюха1 вне форума Ответить с цитированием
Старый 13.12.2020, 03:35   #4
Ильюха1
Пользователь
 
Регистрация: 04.04.2011
Сообщений: 92
По умолчанию

Попробовал с While , вот что получил . Что он от меня хочет ? Как инициализировать переменную .
Изображения
Тип файла: jpg Screenshot_20201213_093205.jpg (96.6 Кб, 1 просмотров)
Ильюха1 вне форума Ответить с цитированием
Старый 13.12.2020, 03:43   #5
Ильюха1
Пользователь
 
Регистрация: 04.04.2011
Сообщений: 92
По умолчанию

Попробовал с While , вот что получил .
import java.util.Scanner;

public class kredit3 {
public static void main(String[]args){
Scanner scanner=new
Scanner(System.in);
int amount = scanner.nextInt();
int proc;

while (amount>0){
proc=amount/10;amount=amount-proc;
System.out.println(proc);
}




}

}
Получил 0 в бесконечности .
Почему так ?
Ильюха1 вне форума Ответить с цитированием
Старый 13.12.2020, 03:47   #6
Ильюха1
Пользователь
 
Регистрация: 04.04.2011
Сообщений: 92
По умолчанию

Переместил переменную в цикл , получил то же .
Ильюха1 вне форума Ответить с цитированием
Старый 13.12.2020, 14:48   #7
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Как вариант условие сделать не amount a proc
Код:
class Main {  
  public static void main(String args[]) { 
    int amount = 1500;
    int proc = amount / 10;

        while (proc>0){
            proc = amount / 10;
            amount -= proc;
            System.out.println("Вы должны заплатить " +
            proc + 
            
            " в этом месяце. Вам осталось заплатить " +  amount);

        }
  } 
}
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 13.12.2020, 15:36   #8
Ильюха1
Пользователь
 
Регистрация: 04.04.2011
Сообщений: 92
По умолчанию

Cпасибо , переписал всё , и всё получилось . С while. А вот с for не получается почему ?
Ильюха1 вне форума Ответить с цитированием
Старый 13.12.2020, 16:12   #9
Ильюха1
Пользователь
 
Регистрация: 04.04.2011
Сообщений: 92
По умолчанию

Если интересно так работает
import java.util.Scanner;
public class kredit {
public static void main(String[]args)
{


Scanner scanner=new
Scanner(System.in);

double amount=scanner.nextInt();
double proc;
proc=amount;
while(amount>0)
{amount =amount-proc;
System.out.println("Вы должны заплатить "+proc+"руб. В этом месяце." +
"Вам осталось заплатить"+amount);
}
scanner.close();
}
}
Ильюха1 вне форума Ответить с цитированием
Старый 13.12.2020, 18:13   #10
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Вот это верно, не надо жить в кредит, за 1 раз выплатили всю сумму и спите спокойно
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с циклом!!!! klimpashka23 Microsoft Office Excel 1 27.09.2009 17:06
помогите с циклом pobedin БД в Delphi 2 28.08.2009 14:56
Помогите с циклом BuT@JL Помощь студентам 3 25.03.2009 17:53
помогите с циклом Lonix PHP 1 19.09.2008 17:51
Помогите с циклом Almost_Famous Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 8 27.03.2008 21:08