难以尝试为上述问题编写代码。请在下面找到代码。必须读入5个数字并计算输入的正数的频率。
import java.util.Scanner;
public class Lab02Ex2PartB {
public static void main (String [] args){
Scanner input = new Scanner(System.in);
System.out.println("Please enter a positive integer");
int number = input.nextInt();
for(int i = -2 ; i < 4 ; i++)
System.out.println("Positive Count is: " + i);
}
}
答案 0 :(得分:0)
您的问题是您有一个需要重复的任务(关于用户输入值);但是你的循环(反复做事的完美意思)......不会覆盖那部分!
for(int i = -2; i&lt; 4; i ++) System.out.println(“正数是:”+ i);
相反,做一些事情:
for (int loops = 0; loops < 5; loops++) {
int number = input.nextInt();
当然,你需要记住这5个值,最简单的方法是:使用数组;将您的代码转换为:
int loopCount = 5;
int numbers[] = new[loopCount];
for (int loops = 0; loops < loopCount; loops++) {
numbers[loops] = input.nextInt();
然后,最后,当您询问所有数字时,然后检查阵列中的数据以计算频率。一个简单的方法可以这样工作:
for (int number : numbers) {
if (number > 0) {
System.out.println("Frequency for " + number + " is: " + computeFrequency(number, numbers));
}
用一个小帮手方法:
private int computeFrequency(int number, int allNumbers[]) {
...
请注意:这是为了让你去 - 我不打算为你做所有的功课。你仍然应该坐下来想一想“计算频率”实际意味着什么;以及如何做到这一点。
答案 1 :(得分:0)
试试这个,请记住,如果你只想知道频率(不存储)
import java.util.Scanner;
public class Lab02Ex2PartB {
public static void main (String [] args){
int i = 1;// is a counter for the loop
int positive =0;// counts positive numbers
while(i<=5){
Scanner input = new Scanner(System.in);
System.out.println("Please enter a whole positive number");
int number = input.nextInt();
if(number > 0){
positive ++;
}
i++;
}
System.out.println("Positive Count is: "+ positive);