本程序目的:
for循环、while循环、do-while循环实现1到n之间能被m整除的整数和这些整数的和
方法一(for循环):
//package study;
/**
*
* @author 黑大帅
* @date 2020.1.16
*功能:for循环实现1到n之间能被m整除的整数和这些整数的和
*/
import java.util.Scanner;
public class Study {
public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入m的值:");
int m = scanner.nextInt();
System.out.print("请输入n的值:");
int n=scanner.nextInt();
int h=sum1(m,n);
System.out.println("for循环所求整数的和为:"+h);
}
//使用for循环实现
public static int sum1(int m,int n){
int sum = 0;
for(int i=1;i<=n;i++) {
if(i%m==0){
System.out.println("能被m整除的整数有:"+i);
sum+=i;
}
}
return sum;
}
方法二(while循环实现):
//package study;
/**
*
* @author 黑大帅
* @date 2020.1.16
*功能:while循环实现1到n之间能被m整除的整数和这些整数的和
*/
import java.util.Scanner;
public class Study {
public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入m的值:");
int m = scanner.nextInt();
System.out.print("请输入n的值:");
int n=scanner.nextInt();
int e=sum2(m,n);
System.out.println("while循环所求整数的和为:"+e);
}
//使用while循环实现
public static int sum2(int m,int n) {
int i=1,sum=0;
while(i<=n) {
if(i%m==0) {
System.out.println("能被m整除的整数有:"+i);
sum+=i;
}
i++;
}
return sum;
}
}
方法三(do-while循环):
//package study;
/**
*
* @author 黑大帅
* @date 2020.1.16
*功能:while循环实现1到n之间能被m整除的整数和这些整数的和
*/
import java.util.Scanner;
public class Study {
public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入m的值:");
int m = scanner.nextInt();
System.out.print("请输入n的值:");
int n=scanner.nextInt();
int w = sum3(m,n);
System.out.println("do-while循环所求整数的和为:"+w);
}
//使用do-while循环实现
public static int sum3(int m,int n) {
int i=1,sum=0;
do {
if(i%m==0) {
System.out.println("能被m整除的整数有:"+i);
sum+=i;
}
i++;
}while(i<=n);
return sum;
}
}
三种方法整合:
//package study;
/**
*
* @author 黑大帅
* @date 2020.1.16
*功能:for循环、while循环、do-while循环实现1到n之间能被m整除的整数和这些整数的和
*/
import java.util.Scanner;
public class Study {
public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入m的值:");
int m = scanner.nextInt();
System.out.print("请输入n的值:");
int n=scanner.nextInt();
int h=sum1(m,n);
System.out.println("for循环所求整数的和为:"+h);
System.out.println("-----------------");
int e=sum2(m,n);
System.out.println("while循环所求整数的和为:"+e);
System.out.println("-----------------");
int w = sum3(m,n);
System.out.println("do-while循环所求整数的和为:"+w);
}
//使用for循环实现
public static int sum1(int m,int n){
int sum = 0;
for(int i=1;i<=n;i++) {
if(i%m==0){
System.out.println("能被m整除的整数有:"+i);
sum+=i;
}
}
return sum;
}
//使用while循环实现
public static int sum2(int m,int n) {
int i=1,sum=0;
while(i<=n) {
if(i%m==0) {
System.out.println("能被m整除的整数有:"+i);
sum+=i;
}
i++;
}
return sum;
}
//使用do-while循环实现
public static int sum3(int m,int n) {
int i=1,sum=0;
do {
if(i%m==0) {
System.out.println("能被m整除的整数有:"+i);
sum+=i;
}
i++;
}while(i<=n);
return sum;
}
}
对Scanner类有疑惑的同学请点击 Scannner中方法详解
总结:这三种方法原理相差不多,掌握其中一种即可。有需要的朋友欢迎采纳,若有疑问欢迎留言交流。