Глава 6
Задача 6.16 "Сумма квадратов."
Напишите типизированный метод, который принимает в качестве параметров целые числа и возвращает сумму квадратов целых чисел, находящихся на числовой прямой между ними, включая граничные значения. Как вызвать метод для вывода значений суммы квадратов целых чисел из диапазона от 1 до 10? Каким образом должна измениться программа, если данные сначала нужно ввести в массив?
Решение 1
Классическая задачка для программиста.
Программа подсчитывает сумму квадратов элементов массива.
Теперь интересно сделать ее интерактивной.
Код программы:
import java.text.*;
import javagently.*;
import java.util.*;
import java.io.*;
class SumSquare {
SumSquare () throws IOException {
int q = sumSquare(2,5);
System.out.println(" Summ of square of elements of array is " + q);
q = sumSquare(3,9);
System.out.println(" Summ of square of elements of array is " + q);
q = sumSquare(9,3);
System.out.println(" Summ of square of elements of array is " + q);
}
public static void main(String[] args) throws IOException {
new SumSquare() ;
}
int sumSquare(int n, int m){
int k = m - n;
int sumSq = 0;
if(k < 0){
k--;
k =-k;
int mas[] = new int[k];
for(int i = 0; i < k; i++){
mas[i] = m;
m++;
}
// for(int j = 0; j < mas.length; j++){
// System.out.println(mas[j]);
//}
for(int j = 0; j < mas.length; j++){
sumSq = sumSq + mas[j]*mas[j];
}
}
else{
k++;
int mas[] = new int[k];
for(int i = 0; i < k; i++){
mas[i] = n;
n++;
}
// for(int j = 0; j < mas.length; j++){
// System.out.println(mas[j]);
//}
for(int j = 0; j < mas.length; j++){
sumSq = sumSq + mas[j]*mas[j];
}
}
return sumSq;
}
}
Результат :
Summ of square of elements of array is 54
Summ of square of elements of array is 280
Summ of square of elements of array is 280
Назад |
Начало урока |
Вверх |
Вперед
Содержание