使用没有提示的循环自动填充和数组..

时间:2015-03-01 14:31:10

标签: java arrays loops

我想知道是否可以使用循环填充和数组而不提示用户输入? 我必须设计一个程序来填充大小为6的数组,其数量为7的倍数。规范没有说明提示用户的任何内容,它说“使用循环来填充数组”所以我不能硬编码中的数字。 在7的倍数中,我需要打印出哪些可以精确地除以3。

是否可以在没有用户输入的情况下填充阵列? 我的代码如下......

import java.util.Scanner;
/**
 * Created by IntelliJ IDEA.
 * Date: 26/02/2015
 * Time: 15:25
 * UPDATE COMMENT ABOUT PROGRAM HERE
 */
public class Array7Mult
{
   public static void main(String[] args)
   {

      int multipleSeven [] = new int[6];
      final int HOWMANY=6,DIVIDE=3;
      Scanner keyboard = new Scanner(System.in);


      for(int count=0;count<HOWMANY;count++)
      {
         System.out.println("Please enter a multiple of 7 below..");
         multipleSeven[count]=keyboard.nextInt();
      }//for


      System.out.println("The multiples of seven that can be divided by 3 are..");

      for(int count=0;count<HOWMANY;count++)
      {

         if (multipleSeven[count] % DIVIDE == 0)
         {

            System.out.println(multipleSeven[count]);
         }//if
      }//for

   }//main
}//class

2 个答案:

答案 0 :(得分:1)

是的。假设您希望通过变量填充数组,该变量每个索引递增1。假设变量i(所以我们使用在循环中实例化的相同变量)。

for(int i = 0; i < arr.length; i++)
    arr[i] = i;

这很简单。您可以创建一个全局变量,并将其添加到循环边界内的数组中,并在循环中操纵其值。

int a = 0;

for(int i = 0; i < arr.length; i++) {
     arr[i] = a;
     a += 10;
}

如果您希望将值增加为七的倍数,则可以使用第一个示例,而不是执行arr[i] = i执行arr[i] = i*7

答案 1 :(得分:0)

使用

for(int count=0;count<HOWMANY;count++)
    multipleSeven[i]=(i+1)*7;

而不是

for(int count=0;count<HOWMANY;count++)
{
    System.out.println("Please enter a multiple of 7 below..");
    multipleSeven[count]=keyboard.nextInt();
}

使用值multipleSeven填充数组7,14,21,28,35,42