Java 求两个数(含两个数)之间的赔率之和
我正在写一个简单的程序,以找到两个输入的数字之间的奇数总和,我将感谢任何反馈。我在这个问题上工作了很长时间,我需要一些专业知识Java 求两个数(含两个数)之间的赔率之和,java,Java,我正在写一个简单的程序,以找到两个输入的数字之间的奇数总和,我将感谢任何反馈。我在这个问题上工作了很长时间,我需要一些专业知识 import java.util.Scanner; class Main { public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.print("#1: "); int num1 = s.ne
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.print("#1: ");
int num1 = s.nextInt();
System.out.print("#2: ");
int num2 = s.nextInt();
int sum = 0;
for(int i= num1; i<(num2-num1); i++){
if (i%2 != 0){
sum+=i;
}
}
System.out.print();
}
}
import java.util.Scanner;
班长{
公共静态void main(字符串[]args){
扫描仪s=新的扫描仪(System.in);
系统输出打印(“#1:”);
int num1=s.nextInt();
系统输出打印(“#2:”);
int num2=s.nextInt();
整数和=0;
对于(int i=num1;i我会先测试num1
是否为偶数,如果它是加一使其为奇数(否则,它已经为奇数)。然后再增加2
,这样你就知道每个i
都是奇数。接下来,你的循环测试应该是我会测试num1
是否为偶数,如果它是加一使其为奇数(否则,它已经是奇数了)。然后增加2
,这样你就知道每个i
都是奇数。接下来,你的循环测试应该是,你也可以应用一些数学,而不是循环所有的数字,这更有效,并且成为一个常数时间算法,而不是线性时间
要获得这些数字的总和,可以将两个数字之间的平均值乘以范围内的元素计数
如果这两个数字中的任何一个都是奇数,则可以加一或减一以达到范围内的第一个偶数,因此可以从偶数计算到偶数
示例:从3到12,您将使用4和12。平均值为8。并且您的范围内有(12-4)/2+1=5个偶数(1+1是因为它包含范围)。总和为8*5=40
这是真的:4+6+8+10+12=40你也可以应用一些数学,而不是循环遍历所有的数字,这样效率更高,并且成为一个常数时间算法,而不是线性时间
import java.util.Scanner;
class SumOfOdds
{
public static void main(String[] args)
{
Scanner s = new Scanner(System.in);
System.out.print("#1: ");
int num1 = s.nextInt();
System.out.print("#2: ");
int num2 = s.nextInt();
if (num1 % 2 == 0)
{
num1++;
}
int sum = 0;
for (int i = num1; i <= num2; i+=2)
{
sum += i;
}
System.out.println(sum);
}
}
要获得这些数字的总和,可以将两个数字之间的平均值乘以范围内的元素计数
如果这两个数字中的任何一个都是奇数,则可以加一或减一以达到范围内的第一个偶数,因此可以从偶数计算到偶数
示例:从3到12,您将使用4和12。平均值为8。并且您的范围内有(12-4)/2+1=5个偶数(1+1是因为它包含范围)。总和为8*5=40
这是正确的:4+6+8+10+12=40import java.util.Scanner;
import java.util.Scanner;
class SumOfOdds
{
public static void main(String[] args)
{
Scanner s = new Scanner(System.in);
System.out.print("#1: ");
int num1 = s.nextInt();
System.out.print("#2: ");
int num2 = s.nextInt();
if (num1 % 2 == 0)
{
num1++;
}
int sum = 0;
for (int i = num1; i <= num2; i+=2)
{
sum += i;
}
System.out.println(sum);
}
}
SumOfOdds类
{
公共静态void main(字符串[]args)
{
扫描仪s=新的扫描仪(System.in);
系统输出打印(“#1:”);
int num1=s.nextInt();
系统输出打印(“#2:”);
int num2=s.nextInt();
如果(num1%2==0)
{
num1++;
}
整数和=0;
对于(inti=num1;iimport java.util.Scanner;
SumOfOdds类
{
公共静态void main(字符串[]args)
{
扫描仪s=新的扫描仪(System.in);
系统输出打印(“#1:”);
int num1=s.nextInt();
系统输出打印(“#2:”);
int num2=s.nextInt();
如果(num1%2==0)
{
num1++;
}
整数和=0;
对于(inti=num1;i这里有一些简单的错误可以在代码中修复,而不仅仅是num1。此外,请确保在最后一条语句中打印结果。相比之下,有许多其他方法可以解决此问题,但如果您解决了这几个问题,您的简单方法就会很好地工作。这里有一些简单错误可以在代码中修复。首先,它不应该是(num2-num1),而不是num1。另外,请确保在最后一条语句中打印您的结果。相比之下,有许多其他方法可以解决此问题,但如果您解决了这几个问题,您的简单方法就会很好。感谢您的反馈。我忽略了这么简单的解决方案。!感谢您的反馈。我看到了这么简单的解决方案erlooked.!如果第一个数字是奇数或非奇数,你应该先测试。如果第一个数字是奇数或非奇数,你应该先测试。请添加一些描述来回答,以便更好地指导提问者。请添加一些描述来回答,以便更好地指导提问者
import java.util.Scanner;
class SumOfOdds
{
public static void main(String[] args)
{
Scanner s = new Scanner(System.in);
System.out.print("#1: ");
int num1 = s.nextInt();
System.out.print("#2: ");
int num2 = s.nextInt();
if (num1 % 2 == 0)
{
num1++;
}
int sum = 0;
for (int i = num1; i <= num2; i+=2)
{
sum += i;
}
System.out.println(sum);
}
}