#java #for-loop
#java #for-цикл
Вопрос:
Моя цель программы состоит в том, чтобы подсчитать, сколько магазинов у меня будет через некоторое время. Я предоставил уравнение для программы, чтобы следовать ему. Стоимость каждого магазина составляет 30000 $. Я начал с 3 магазинов и их доход 10000 $ / магазин, поэтому общая сумма, которую я получу от своих магазинов, составляет 30000 $ / месяц. Теперь, как указано, через месяц я смогу открыть новый магазин, и мои магазины увеличатся до 4 и так далее. Через 7 месяцев моих магазинов будет 21, а общая сумма денег должна составлять 210000 $. Как бы вы изменили код, чтобы сделать это. Если вы хотите убедиться, что вы можете использовать paper для его вычисления. Проблема в моем коде заключается в том, что, как только общая сумма денег достигает 60000 и более, программа вычитает 30000 и увеличивает счетчик и магазин на 1, тогда как он должен увеличить счетчик один раз, а магазин дважды. Потому что 60000 $ — это стоимость создания 2 магазинов и так далее.
public class investmentCalculation
/** the class describe the plan of investment. Each shop costs 30000 */
{
private int income ;
private int shop ;
private int firstMoney ;
private int totalMoney1;
private int totalMoney;
//instructor
public investmentCalculation( )
{
income =10000;
shop = 3;
/** here is the cost of shop establishment */
firstMoney = 30000;
totalMoney1 = 0;
}
// here the method to achieve the goal
public int SetFor()
{ for(int i= 0; i < 7; i )
{
totalMoney1 = totalMoney1 totalMoney - firstMoney;
/**here is 0 = 0 60000 - 30000;
I got the total money from this equation
totalMoney = shop * income;
= 6 * 10000;
now the shop should be 8. However, after compiling the program the output is 7.
shop ;
totalMoney = shop * income; /** once the TotalMoney = 30000(FirstMoney) should open new shop and so on. Once the iteration reach i=7 the TotalMoney must be 210000 */
shop ;
totalMoney = shop * income;
}
System.out.println("the total money is: " totalMoney);
return shop;}
}
/** this class to test the investmentCalculation*/
public class investmentCalculationTester
{
public static void main(String [] args)
{
investmentCalculation TT = new investmentCalculation();
int A = TT.SetFor();
System.out.println("the shops are: " A);
}}
Комментарии:
1. Ваше форматирование, безусловно , никак не может помочь.
2. @ChiefTwoPencils: Да, это самый быстрый способ разозлить других разработчиков. Особенно на SO.
3. Во-первых, у вас есть строка, которая, как представляется, вычисляет сумму чего-либо, но тогда вы никогда не используете сумму. Это выглядит как простая опечатка. Но если результат по-прежнему неверен, либо используйте отладчик, либо используйте
System.out.println
для печати значений некоторых ключевых переменных внутри цикла, чтобы вы могли видеть, где что-то идет не так. Я не могу сказать, что происходит не так, поскольку я понятия не имею, что вы пытаетесь вычислить.4. Привет, пользователь3718703 — добро пожаловать в Stack overflow! Я заметил, что вы пытались отредактировать один из ответов, чтобы предоставить ответ на их помощь. Это не лучший способ ответить на их ответ. Вместо этого не стесняйтесь оставлять комментарий к ответу @pwmilmot. Таким образом, мы можем запомнить, что сказал pwilmot, а также услышать ваш ответ. Вы должны иметь возможность комментировать любые ответы на свой собственный вопрос.
5. эй, вы знаете, было бы весьма полезно, если бы вы отредактировали свой вопрос и добавили копию того, как на самом деле выглядит результат для вас прямо сейчас. например, «общая сумма составляет: … Общая сумма денег составляет … » и т. Д
Ответ №1:
Попробуйте это. Я думаю, вам следует пересчитать общую сумму денег. Поскольку количество магазинов равно 21, это правильно. Пожалуйста, пересчитайте общую сумму денег; она никогда не может быть 210000.
public class investmentCalculation {
private int income;
private int shop;
private int firstMoney;
private int totalMoney1;
private int shopsAdded;
public investmentCalculation() {
income = 10000;
shop = 3;
firstMoney = 30000;
totalMoney1 = 0;
shopsAdded = 0;
}
// here the method to achieve the goal
public int SetFor() {
for (int i = 0; i < 7; i ) {
totalMoney1 = income * shop;
shopsAdded = totalMoney1 / firstMoney; //Calculate how many shops can be added with the money you have.
shop = shopsAdded; //Increment the shops by the newly added shops.
totalMoney1 -= firstMoney * shopsAdded; //Decrement the cost required to form the new shops.
}
System.out.println("the total money is: " totalMoney1);
return shop;
}
/** this class to test the investmentCalculation */
public static void main(String[] args) {
investmentCalculation TT = new investmentCalculation();
int A = TT.SetFor();
System.out.println("the shops are: " A);
}
}`