计算用户输入的偶数和奇数-java
嗨,这是我正在做的课程中的一个问题想要的计算用户输入的偶数和奇数-java,java,Java,嗨,这是我正在做的课程中的一个问题想要的 程序打印“类型编号”,直到用户键入编号 -1.当用户键入数字-1时,程序会打印“谢谢,再见!”!“结束了 程序应打印用户输入的数字总和 (没有数字-1) 程序应打印用户键入的数字(无 数字是-1) 程序应打印用户键入的数字的平均值 (没有数字-1) 5.程序应打印 用户键入(不带数字-1)。 我已经完成了1-4,但完全停留在5。我确实开始尝试解决它,包括在我的while循环中加入for循环,但除了它不起作用之外,它看起来很不合适,所以我把它移除了。无论如
import java.util.Scanner;
public class LoopsEndingRemembering {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
int sum = 1; // to counteract the -1 from the user
int total = 0;
double avg;
//int even = 0;
//int odd = 0;
System.out.println("Type numbers:");
while (true) {
int numbers = Integer.parseInt(reader.nextLine());
sum += numbers;
total++;
avg = ((double) sum) / (total - 1);
if (numbers == -1) {
System.out.println("Thank you and see you later!");
System.out.println("The sum is " + sum);
System.out.println("How many numbers: " + (total - 1));
System.out.println("Average: " + avg);
//System.out.println("Even numbers: " + even);
//System.out.println("Odd numbers: " + odd);
break;
}
}
}
}
您可以在一个计数奇数和一个计数偶数的位置存储变量。如果该数字为奇数,则递增奇数变量。如果为偶数,则递增偶数变量。使用%运算符将输入的剩余部分除以2
int oddNumbers = 0;
int evenNumbers = 0;
if(numbers % 2 == 1){
oddNumbers++;
} else if(numbers % 2 == 0){
evenNumbers++;
}
导入java.util.Scanner;
公共班机{
public static void main(String[] args) {
Scanner in= new Scanner (System.in);
int sum = 0;
System.out.print("Enter limit number: ");
int limit = in.nextInt();
int oddNumbers = 0;
int evenNumbers = 0;
for(int i= 1;i<=limit;i++)
{
System.out.println("Enter limit number: "+i+"");
int numbers= in.nextInt();
if(numbers %2==0)
{
evenNumbers++;
}
else if(numbers %2==1)
{
oddNumbers++;
}
}
System.out.println("There are: "+oddNumbers+" odd numbers");
System.out.println("There are :"+evenNumbers+" even numbers");
}
}
publicstaticvoidmain(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
整数和=0;
系统输出打印(“输入限制编号:”);
int limit=in.nextInt();
整数=0;
整数=0;
对于(int i=1;我有一个提示,请查找此符号。%n弄清楚为什么会这样做可能会很有趣:odd+=number&1
。当然,你不需要偶数
-它总是total-odd
嗨,Slenderton谢谢你的回答。我已经有类似的东西了,但我无法计算出它需要放在我的代码中的什么地方。有吗想法?如果你取消对变量的注释,If语句应该添加到avg=((double)sum)/(total-1);
OK我对它进行了排序。我把你给我的东西放在while循环中。我想我犯的错误是我把代码放在If语句中了-If(number=-1){.很好的一个,如果你知道这有什么意义,就很容易了.另外,请确保你检查数字
的值(当它等于-1时)没有添加到奇数变量中,因为-1%2
的计算结果为1,因此它将被视为一个额外的奇数.请避免使用“仅代码”回答;解释你在做什么。然后:有一个预览功能,你应该使用它来确保你所有的代码都是正确的格式/缩进的;而不是把这样的混乱丢给别人。
import java.lang.Math;
public class HelloWorld {
public static void main(String[] args) {
int firstnum = 4;
int lastnum = 104;
int evncnt, oddcnt;
int count;
System.out.println("First number is " + firstnum);
System.out.println("Last number is " + lastnum);
count = lastnum - firstnum + 1;
System.out.println("Total numbers are " + count);
if (count % 2 == 0) {
System.out.println("Total even numbers are " + count / 2);
System.out.println("Total odd numbers are " + count / 2);
} else {
if (firstnum % 2 == 0) {
System.out.println("Total Even numbers are ");
System.out.println((count + 1) / 2);
System.out.println("Total Odd numbers are ");
System.out.println((count - 1) / 2);
} else {
System.out.println("Total even numbers are ");
System.out.println((count - 1) / 2);
System.out.println("Total odd numbers are ");
System.out.println((count + 1) / 2);
}
}
}
}