Назад | Начало урока | Вперед
Содержание

Глава 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


Назад | Начало урока | Вверх | Вперед
Содержание

Hosted by uCoz