Я все еще довольно начинающий программист, так что прошу прощения за мой код.Когда я пытаюсь скомпилировать следующий код, я получаю сообщение об ошибке:
The method Customer(java.lang.String, java.lang.Double) is undefined for the type Customer
Я ранее пытался объявить объект "s" в операторе for, затем он создает новую ошибку в конце программыгде я снова ссылаюсь на объект "s".Мне было интересно, как я мог обойти эту проблему?Ниже я включил мою текущую программу вместе с желаемым выводом и Customer.class API
.
API
желаемый вывод
import java.util.Scanner;
public class A4
{
public static void main( String[] args )
{
//delcaring variables
Scanner input = new Scanner( System.in );
String[] name = new String[5];
Double[] amount = new Double[5];
Customer s = new Customer( "", 0 );
//begining of program
for ( int i = 0; i <= 5; i++ )
{
System.out.println( "please enter the name of the customer" );
name[i] = input.next();
System.out.println( "please enter the amount in that account" );
amount[i] = input.nextDouble();
s.Customer( name[i], amount[i] );
//Customer s = new Customer(name [i],amount[i]);
}
System.out.println( "Search for all customers who have more than $100" );
for ( int t = 0; t <= 5; t++ )
{
if ( amount[t] >= 100 )
{
System.out.println( name[t] );
}
}
Double avgBalance = 0.0;
for ( int r = 1; r <= 5; r++ )
{
avgBalance += r;
}
avgBalance = avgBalance / 5;
System.out.println( "The average balance is: " + avgBalance );
Double max = amount[1];
for ( int j = 0; j <= 5; j++ )
{
if ( amount[j] > max )
{
max = amount[j];
}
}
System.out.println( "The customer with the highest balance is: " + max );
System.out.println( "Show all accounts after a 5% balance increase" );
//Customer c = new Customer(name [i],amount[i]);
for ( int e = 0; e <= 5; e++ )
{
//Customer c = new Customer amount[e].applyPercentageIncrease(5);
//amount [e]=
//applyPercentageIncrease q = new
s.applyPercentageIncrease( 5 );
System.out.println( s.getName() + " has " + s.getBalance() );
}
}
}
ОБНОВЛЕНИЕ: я реализовал то, что предложил Гтомика, и теперь программа работает,однако в первом операторе for программа запрашивает у пользователя 6 имен, затем устанавливает ошибку out of bounds, я понимаю ошибку out of bounds, однако условия оператора for утверждают, что она должна запрашивать только 5 имен и 5 балансов, верно?я что-то здесь упускаю?
ОБНОВЛЕНИЕ2: я исправил вышеуказанную проблему и улучшил свою программу, теперь мне нужна помощь в использовании метода applyPercentageIncrease
из Customer.class
API.Я знаю, что код, который я написал ниже, не работает, но я был бы признателен за помощь в применении увеличения на 5% для всех остатков на счетах, используя метод, описанный выше.спасибо
for (int e=0;e<5;e++)
{
//Customer c = new Customer amount[e].applyPercentageIncrease(5);
//amount [e]=
//applyPercentageIncrease q = new
customers[o]=e.applyPercentageIncrease(5);
System.out.println (o.getName()+" has "+o.getBalance());
}