如何让程序从输入文件中读取一组整数。目标是将它们存储在一个数组中,然后显示比输入更大的值。另外,创建一个名为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 + " ");
}
}
}
}
答案 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]).