Я делаю программу, которая содержит метод numdiv
, который находит количество делителей d
. У меня также есть метод под названием sumSquares
, который находит квадраты от 1 до n
. Я поместил цикл for в основной метод, чтобы найти сумму квадратов и делителей от 10 до 50, только теперь я хочу найти среднее количество делителей ч / б 10 и 50. Вот код:
public static void main(String[] args) {
System.out.println("NUMBER\tSUM OF SQUARES\tDIVISORS");//setup table
//loop through numbers 10 to 50
for(int i = 10; i <= 50; i++){ //i represents the integers to print
System.out.println(i + "\t" + sumSquares(i) + "\t\t" + numdiv(i));
}
}
public static int sumSquares(int n){
int sum = 0; //define sum
for(int num = 1; num <= n; num++){
sum = (num*num) + sum; //set sum equal to num*num then add to sum
}
return sum;
}
public static int numdiv(int d){
int div = 0; //counter for divisors
for(int num = 1; num <= d; num++){
if(d % num == 0){ //check if d is a divisor
div++; //increment div each time true
}
}
return div;
}
}
У кого-нибудь есть идея, как я могу это сделать, пожалуйста?
1 ответ
В зависимости от ваших методов, не меняя их для сохранения логики, вы можете изменить свой метод main
следующим образом:
public static void main(String[] args) {
System.out.println("NUMBER\tSUM OF SQUARES\tDIVISORS");//setup table
//loop through numbers 10 to 50
int sumSquares = 0;
int numDiv = 0;
int totalSquares = 0;
int totalDiv = 0;
for(int i = 10; i <= 50; i++){ //i represents the integers to print
sumSquares = sumSquares(i);
numDiv = numdiv(i);
System.out.println(i + "\t" + sumSquares + "\t\t" + numDiv);
totalSquares += sumSquares;
totalDiv += numDiv;
}
System.out.printf("Average sumSquares: %d - Average numDiv: %d", totalSquares/41, totalDiv/41);
}
Примечание . Я жестко запрограммировал делитель 41, потому что у вас также есть жестко закодированные числа от 10 до 50. Вы должны экстернализовать это, а также числа петель for
.
Похожие вопросы
Новые вопросы
java
Java - это язык программирования высокого уровня. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег редко используется отдельно и чаще всего используется вместе с [spring], [spring-boot], [jakarta-ee], [android], [javafx], [hadoop], [gradle] и [maven].