数组和方法的问题

时间:2017-02-15 09:36:22

标签: java

如何让程序从输入文件中读取一组整数。目标是将它们存储在一个数组中,然后显示比输入更大的值。另外,创建一个名为greater_than_n()的方法,该方法接受整数数组和整数n。此方法的目的是显示大于n的数字

import java.util.Scanner;
import java.io.*;
public class Lab5 // File Name{
public static void main(String[] args) throws IOException
{
    Scanner userInput = new Scanner(System.in);
    File Integers = new File("Integers.txt"); 
    Scanner inputReader = new Scanner(Integers); 

    String line = inputReader.nextLine(); 
    System.out.print(line); 
    inputReader.close(); 

    System.out.print("Enter an Integer: ");

    int userAction = userInput.nextInt();   
    System.out.println("The numbers in the input file that are greater than " + userAction + " are: ");

    for (int index = 0; index < Integers.length; index++) 
    {
        if(Integers[index] > userAction)
        {
            System.out.print(Integers + " ");
        }
    }
}

}

3 个答案:

答案 0 :(得分:1)

你正在以错误的方式检查。你的循环应该迭代到数组的长度。然后,如果要在数组中打印更大的数字,请检查每个元素是否大于输入数字。如果是,请在索引中打印该数字。

Scanner userInput = new Scanner(System.in);

int[] numbers = {2, -4, 6, 8, 19};
System.out.print("Enter an Integer: ");

int userAction = userInput.nextInt();
System.out.println("The numbers in the input file that are greater than " + userAction + " are: ");

for (int index = 0; index < numbers.length; index++) {
    if(numbers[index] > userAction)
        System.out.print(numbers[index] + " ");
}

答案 1 :(得分:1)

您要在循环的每个步骤中打印出数组,打印出一个应更改为System.out.print(numbers);的{​​{1}}的数字。

如果您想要打印的数字大于输入的数字(System.out.print(numbers[index]);,输出应为userAction=3(例如),则算法中会出现错误。您的算法所做的只是打印出数组6, 8, 19次。要解决此问题,您可以使用以下代码段:

userAction

答案 2 :(得分:-1)

你打印Arrayobject,你想要的是打印数组的索引,这可以通过使用:

来完成
    System.out.print(numbers[index]).