public class ArrayAverageCalculator {
// æ•´æ•°åž‹ã®é…列ã®å¹³å‡å€¤ã‚’計算ã—ã¦è¿”ã™ãƒ¡ã‚½ãƒƒãƒ‰
public static double calculateAverage(int[] array) {
if (array == null || array.length == 0) {
// é…列ãŒnullã¾ãŸã¯ç©ºã®å ´åˆã¯ã‚¼ãƒã‚’è¿”ã™ã‹ã€ã‚¨ãƒ©ãƒ¼å‡¦ç†ã‚’行ã†
return 0.0;
}
// é…列ã®åˆè¨ˆã‚’求ã‚ã‚‹ãŸã‚ã®å¤‰æ•°ã‚’åˆæœŸåŒ–
int sum = 0;
// é…列ã®å„è¦ç´ ã‚’åˆè¨ˆã«åŠ ãˆã‚‹
for (int value : array) {
sum += value;
}
// é…列ã®è¦ç´ æ•°ã§å‰²ã£ã¦å¹³å‡å€¤ã‚’計算
double average = (double) sum / array.length;
// å¹³å‡å€¤ã‚’è¿”ã™
return average;
}
public static void main(String[] args) {
// 使用例
int[] numbers = {5, 10, 15, 20, 25};
double result = calculateAverage(numbers);
System.out.println("Average: " + result);
}
}
ã“ã®ä¾‹ã§ã¯ã€calculateAverage ãƒ¡ã‚½ãƒƒãƒ‰ãŒæ•´æ•°åž‹ã®é…列を引数ã¨ã—ã¦å—ã‘å–りã€ç©ºã®é…列やnullã§ãªã„ã“ã¨ã‚’確èªã—ã¦ã‹ã‚‰å¹³å‡å€¤ã‚’計算ã—ã¦ã„ã¾ã™ã€‚å¹³å‡å€¤ã¯ double åž‹ã§è¿”ã•れã¦ã„ã¾ã™ã€‚
引数ã¨ã—ã¦æ¸¡ã•れãŸé…åˆ—ã‚’ãƒ¡ã‚½ãƒƒãƒ‰å†…ã§æ“作ã™ã‚‹
Javaã«ãŠã„ã¦ã€é…列ã¯å‚ç…§åž‹ã§ã‚りã€ãƒ¡ã‚½ãƒƒãƒ‰ã«æ¸¡ã™ã¨ãã¯é…列ã®å‚ç…§ãŒæ¸¡ã•れるãŸã‚ã€ãƒ¡ã‚½ãƒƒãƒ‰å†…ã§é…列をæ“作ã™ã‚‹ã¨å‘¼ã³å‡ºã—å…ƒã«ã‚‚影響ãŒåŠã³ã¾ã™ã€‚以下ã«ã€å‚照渡ã—ã•れãŸé…列をæ“作ã™ã‚‹å ´åˆã®ä¸€èˆ¬çš„ãªæ‰‹é †ã¨æ³¨æ„点を解説ã—ã¾ã™ã€‚
- é…列ã®ä½œæˆ:
- ãƒ¡ã‚½ãƒƒãƒ‰å†…ã§æ–°ã—ã„é…列を作æˆã™ã‚‹ã¨ã€ãれã¯ãƒ¡ã‚½ãƒƒãƒ‰å†…ã§ã®ã¿æœ‰åйã§ã™ã€‚å…ƒã®å‘¼ã³å‡ºã—å…ƒã®é…列ã«ã¯å½±éŸ¿ãŒã‚りã¾ã›ã‚“。
- é…列ã®å¤‰æ›´:
- メソッド内ã§å¼•æ•°ã¨ã—ã¦æ¸¡ã•れãŸé…列ã®è¦ç´ を変更ã™ã‚‹ã¨ã€å‘¼ã³å‡ºã—å…ƒã®é…列も変更ã•れã¾ã™ã€‚ã“れã¯ã€æ¸¡ã•れãŸã®ã¯é…列ã®å‚ç…§ã§ã‚ã‚‹ãŸã‚ã§ã™ã€‚
- æ–°ã—ã„é…列を返ã™:
- ãƒ¡ã‚½ãƒƒãƒ‰ãŒæ–°ã—ã„é…列を返ã™å ´åˆã€å‘¼ã³å‡ºã—å…ƒã®é…列ã«ã¯å½±éŸ¿ãŒã‚りã¾ã›ã‚“。新ã—ã„é…列ãŒä½œæˆã•れã€ãれãŒè¿”ã•れるãŸã‚ã§ã™ã€‚
以下ã«ã€ã“ã‚Œã‚‰ã®æ¦‚念を示ã™ç°¡å˜ãªä¾‹ã‚’示ã—ã¾ã™ã€‚
public class ArrayManipulator {
// é…列ã®è¦ç´ ã‚’å€ã«ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
public static void doubleArrayElements(int[] array) {
for (int i = 0; i < array.length; i++) {
array[i] *= 2; // é…列ã®å„è¦ç´ ã‚’å€ã«ã™ã‚‹
}
}
// é…列ã®ã‚³ãƒ”ーを作æˆã—ã€å„è¦ç´ ã‚’å€ã«ã—ã¦è¿”ã™ãƒ¡ã‚½ãƒƒãƒ‰
public static int[] doubleArrayAndReturnNew(int[] array) {
int[] newArray = new int[array.length];
for (int i = 0; i < array.length; i++) {
newArray[i] = array[i] * 2; // æ–°ã—ã„é…列ã«å€ã«ã—ãŸè¦ç´ をコピー
}
return newArray; // æ–°ã—ã„é…列を返ã™
}
public static void main(String[] args) {
int[] originalArray = {1, 2, 3, 4, 5};
// é…列ã®è¦ç´ ã‚’å€ã«ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ã‚’呼ã³å‡ºã™
doubleArrayElements(originalArray);
// 呼ã³å‡ºã—å…ƒã®é…列ãŒå¤‰æ›´ã•れã¦ã„ã‚‹ã“ã¨ã‚’確èª
System.out.println("Original Array after doubling elements:");
for (int value : originalArray) {
System.out.print(value + " ");
}
// æ–°ã—ã„é…列を作æˆã—ã€å„è¦ç´ ã‚’å€ã«ã—ã¦è¿”ã™ãƒ¡ã‚½ãƒƒãƒ‰ã‚’呼ã³å‡ºã™
int[] newArray = doubleArrayAndReturnNew(originalArray);
// 呼ã³å‡ºã—å…ƒã®é…列ã«ã¯å½±éŸ¿ãŒãªã„ã“ã¨ã‚’確èª
System.out.println("\nOriginal Array after creating a new doubled array:");
for (int value : originalArray) {
System.out.print(value + " ");
}
// æ–°ã—ã„é…åˆ—ãŒæ£ã—ã作æˆã•れã¦ã„ã‚‹ã“ã¨ã‚’確èª
System.out.println("\nNew Doubled Array:");
for (int value : newArray) {
System.out.print(value + " ");
}
}
}
ã“ã®ä¾‹ã§ã¯ã€doubleArrayElements メソッドã¯å‘¼ã³å‡ºã—å…ƒã®é…列を直接変更ã—ã€doubleArrayAndReturnNew ãƒ¡ã‚½ãƒƒãƒ‰ã¯æ–°ã—ã„é…列を作æˆã—ã¦è¿”ã—ã¾ã™ã€‚
「008 メソッドã€å•題集リスト
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント