簡體   English   中英

Java 程序要求 10 個數字並將它們放入一個數組中。 我如何要求輸入? 到目前為止我的代碼正確嗎?

[英]Java program asking for 10 numbers and puts them in an array. How do I ask for input? Is my code correct so far?

該程序要求用戶輸入 10 個數字並轉換為int數組。 如果數組很幸運(包含數字 7、13 或 18),那么它會打印出數組中所有數字的總和。 如果它不包含那些,那么它是假的,它只打印所有偶數的總和。

我如何正確地要求這個輸入? 如何獲得數組中偶數的總和? 其他代碼是否不正確?

import java.util.Scanner;

public class FunArrays {

public static void main(String[] args) {
    // until you do user input, you should test your methods using "test" as the input.
    int[] test = {1,2,3,4,5,6,7}; 
    luckyNumber1 = {7};
    luckyNumber2 = {13};
    luckyNumber3 = {18};


    int[] a=new int[9];
    Scanner sc=new Scanner(System.in);
        System.out.println("Please enter numbers...");
        for(int j=0;j==9;j++)
        a[j]=sc.nextInt();

}

public static int sum(int [ ] value) {
      int i, total = 0;
      for(i=0; i<10; i++)
      {
          total = total + value[ i ];
      }

      return (total);
 }
public static int sumOfEvens (
public static boolean isLucky (int[] array) {

    if ( (int == luckyNumber1) || (int == luckyNumber2) || (int == luckyNumber3 )
        return true; 

    else
        return false
}

// write the static methods isLucky, sum, and sumOfEvens

}

你有一個大小為9的數組。 相反,它的大小應該是10 因此,將初始化更改為

int[] a=new int[10];

在 Java 中使用模運算符%或余數運算符來找出偶數或奇數。

    int evenSum = 0;
    for(int j=0;j<a.length;j++){
    if(a[j]%2 == 0){
       //even numbers
       evenSum = evenSum + a[j];
    }else{
       //odd numbers
      }
    }
    return evenSum;
  int[] a=new int[9];
    Scanner sc=new Scanner(System.in);
        System.out.println("Please enter numbers...");
        for(int j=0;j==9;j++)
        a[j]=sc.nextInt();

}

你的循環有問題,應該是

for (int j = 0; j < 9; j++)

使用此修復程序,它應該正確提示用戶輸入 9 個數字。 將數組更改為 10,並且它將采用 10 個數字的循環。

偶數總和

static int sumOfEvens(int array[]) {
    int sum = 0;
    for(int i = 0; i < array.length; i++>) {
        if(array[i] % 2 == 0)
            sum += array[i];
    }
    return sum;
}

輸入

for(int j = 0; j < a.length; j++)
    a[j] = sc.nextInt();
import java.util.Scanner;

public class MyMain1 {

    public static void main(String[] args) {
        // until you do user input, you should test your methods using "test" as
        // the input.
        int[] luckyNumbers = { 7, 13, 18 };

        int[] a = new int[10];
        Scanner sc = new Scanner(System.in);
        System.out.println("Please enter numbers...");
        for (int j = 0; j <= 9; j++) {
            a[j] = sc.nextInt();
        }
        sc.close();

        boolean sumAll = false;

        for (int i : a) {
            for (int j : luckyNumbers) {
                if (i == j) {
                    sumAll = true;
                    break;
                }
            }
            if(sumAll) {
                break;
            }
        }

        if (sumAll) {
            System.out.println("Summing all : " + sumAll(a));
        } else {
            System.out.println("Summing Only Even : " + sumEven(a));
        }

    }

    public static int sumAll(int[] value) {
        int total = 0;
        for (int j : value) {
            total = total + j;
        }
        return total;
    }

    public static int sumEven(int[] value) {

        int total = 0;
        for (int j : value) {
            if (j % 2 == 0) {
                total = total + j;
            }
        }
        return total;
    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM