配列(リスト)に格納された数値の合計を求めて出力する処理は、演習問題の定番の1つになっているなど、頻繁に目にする処理の1つです。
今回は、標準入力からの半角空白区切りのデータを数値に変換して配列(リスト)に格納し、この配列(リスト)に格納された全要素の合計を出力する処理について、C#、Java、JavaScript、PHP、Python3、Rubyの6言語で比較しています。
C#
using System;
using System.Linq;
public class Sample{
public static void Main(){
//標準入力されたデータをint型の配列に変換。
var line = Console.ReadLine().Trim().Split(' ');
var arraybox = line.Select(x => int.Parse(x)).ToArray();
//配列の要素の合計を出力
Console.WriteLine(arraybox.Sum());
}
}
標準入力されたデータを配列に格納し、配列の全要素をint型に変換。
.Sum()メソッドを使うことで、データが格納された配列の全要素の合計を求められます。
Java
import java.util.*;
public class Main {
//配列の要素を合計するメソッド
public static int arraySum(int[] arr){
int sum = 0;
for (int x: arr){
sum += x;
}
return sum;
}
public static void main(String[] args) throws Exception {
//標準入力されたデータをint型の配列に変換。
Scanner scan = new Scanner(System.in);
var line = scan.nextLine().trim().split(" ");
int[] arraybox = new int[line.length];
for (var i = 0; i < line.length; i++){
arraybox[i] = Integer.parseInt(line[i]);
}
//配列の要素の合計を出力
System.out.println(arraySum(arraybox));
}
}
標準入力されたデータを配列に格納し、全要素をint型に変換して別の配列に格納します。
Javaは配列の全要素を合計する組み込みメソッドが無いため、for文を使って配列から要素を1つづつ加算して合計を求めます。今回は配列から要素を取り出して合計する処理を、arraySum(配列)メソッドで定義しています。
JavaScript
process.stdin.resume();
process.stdin.setEncoding('utf8');
var lines = [];
var reader = require('readline').createInterface({
input: process.stdin,
output: process.stdout
});
reader.on('line', (line) => {
lines.push(line);
});
reader.on('close', () => {
//配列の要素を合計するメソッド
function arrSum(arr){
var sum = 0;
for (var x of arr){
sum += x;
}
return sum;
}
//標準入力されたデータをint型の配列に変換。
var str = lines[0].trim().split(' ');
var arraybox = str.map(x => parseInt(x,10));
//配列の要素の合計を出力
console.log(arrSum(arraybox));
});
標準入力されたデータを配列に格納し、配列の要素を全てint型に変換。
JavaScriptは配列の全要素を合計する組み込みメソッドが無いため、for文を使って配列から要素を1つづつ加算して合計を求めます。今回は配列から要素を取り出して合計する処理を、arraySum(配列)メソッドで定義しています。
PHP
<?php
//標準入力されたデータを配列に入れる。
$line = trim(fgets(STDIN));
$arrbox = explode(' ',$line);
//配列の要素の合計を出力
echo array_sum($arrbox)."\n";
?>
PHPの場合は、標準入力されたデータが数字であれば数値として扱われるので、そのまま数値型の要素として配列に格納されます。
array_sum(配列)メソッドを使うことで、データが格納された配列の全要素の合計を求められます。
Python3
#標準入力されたデータを数値に変換してリストに入れる。
listbox = list(map(int,input().rstrip().split(' ')))
#リストの要素の合計を出力
print (sum(listbox))
標準入力されたデータをリストに格納し、全要素をint型に変換。sum(リスト)メソッドで、データが格納されたリストの全要素の合計が求められます。
Ruby
#標準入力されたデータ数値に変換して配列に入れる。
arrbox = gets.chomp.split(' ').map(&:to_i)
#配列の要素の合計を出力
puts arrbox.sum
標準入力されたデータを数値に変換して配列に格納。.sumメソッドで、データが格納された配列の全要素の合計が求められます。