3,代码作业:
实现任意输入两个数,输出两个数的最大公约数。
下面是源代码:
package denominator;
import java.util.Scanner;
public class denominator {
public static void main(String args[]){
int r=1,m=0,n=0,exit=0;
System.out.println("该程序能实现求两个正整数的最大的公约数!");
Scanner scan=new Scanner(System.in);
while(exit==0)
{
while(m<=0){
try{
System.out.println("请输入第一个正整数:");
String str1=scan.nextLine();
m=Integer.parseInt(str1);
if(m<=0)
System.out.println("您输入的数值为负数,请重新输入!");
}catch(NumberFormatException e){
System.out.println("您输入的数值中含有非数字,请重新输入!");
}
}
while(n<=0){
try{
System.out.println("请输入第二个正整数:");
String str2=scan.nextLine();
n=Integer.parseInt(str2);
if(n<=0)
System.out.println("您输入的数值为负数,请重新输入!");
}catch(NumberFormatException e){
System.out.println("您输入的数值中含有非数字,请重新输入!");
}
}
if(m>n){
int a=m;
m=n;
n=a;
}
while(r!=0){
r=n%m;
if(r!=0){
n=m;
m=r;
}
}
System.out.println("两个正整数的最大公约数是:"+m);
m=0;n=0;r=1;
try{
System.out.println("请选择是否继续进行计算:0(继续),1(退出)");
String str0=scan.nextLine();
exit=Integer.parseInt(str0);
}catch(NumberFormatException e){
System.out.println("输入非法!程序自动退出!");
exit=1;
}
}
System.out.println("程序已经退出,谢您的使用!");
scan.close();
}
}
4,思维导图:
4.1 思维导图的附件下载地址:(无法上传导图文件)
4.2 算法概论思维导图的图片: