独立编写JAVA程序,采用递归的方法求1至n的和。 要求: 1.n从键盘输入;2.当输入Y时结束程序的执行;

求速度... 求速度 展开
 我来答
错永伊I
2012-06-19 · TA获得超过5543个赞
知道小有建树答主
回答量:1036
采纳率:71%
帮助的人:249万
展开全部
import java.util.Scanner;

public class Recursion {
public static int recursion(int num){
if(num==1) return 1;
return num+recursion(num-1);
}

public static void main(String[] args){
while(true){
System.out.println("请输入一个1~"+Integer.MAX_VALUE+"之间的整数(或输入Y退出),再按回车键:");
Scanner sc=new Scanner(System.in);
String input = sc.next();
if ("Y".equals(input)){
System.out.println("程序退出!");
return;
} else {
try {
int num = Integer.parseInt(input);
if (num<1 || num>Integer.MAX_VALUE){
System.out.println("输入错误,请重新输入!");
continue;
}
System.out.println("递归累加和为:"+recursion(num));
} catch (NumberFormatException e) {
e.printStackTrace();
System.out.println("输入错误,请重新输入!");
continue;
}
}
}
}}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
召秋梵悌p1
2012-06-19 · TA获得超过2282个赞
知道小有建树答主
回答量:616
采纳率:80%
帮助的人:677万
展开全部
import java.util.Scanner;

public class Test {
public static int sum(int n){
if(n==1)
return 1;
return n+sum(n-1);
}

public static void main(String[] args){
while(true){
System.out.println("请输入一个数字,或者输入Y退出:");
String s = new Scanner(System.in).next();
if(s!=null && s.trim().toUpperCase().equals("Y")){
break;
}
int n = 0;
try{
n = Integer.parseInt(s.trim());
}catch(Exception e){
System.out.println("输入的不是数字,请重新输入。");
continue;
}
System.out.println("计算结果:" + sum(n));
}
}
}
满意请采纳!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cloudtree1973
2012-06-19 · TA获得超过2619个赞
知道小有建树答主
回答量:567
采纳率:100%
帮助的人:339万
展开全部
import java.util.Scanner;

public class Recursion {
public static int recursion(int num){
if(num==1) return 1;
return num+recursion(num-1);
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while(sc.hasNextInt()){
int num=sc.nextInt();
System.out.println(recursion(num));
}
}
}
更多追问追答
追问
我要那个按Y结束程序啊
追答
import java.util.Scanner;

public class Recursion {
public static int recursion(int num){
if(num==1) return 1;
return num+recursion(num-1);
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
String s=sc.next();
if(s.equals("Y")) break;
int num=Integer.valueOf(s);
System.out.println(recursion(num));
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
般若兮若
2012-06-19 · TA获得超过2705个赞
知道小有建树答主
回答量:1246
采纳率:0%
帮助的人:930万
展开全部
import java.util.Scanner;
public class Test1{
static int num;
public static void main(String[] args){
get();
}
public static void get(){
System.out.println("请输入:");
Scanner scanner = new Scanner(System.in);
while(scanner.hasNext()){
String str=scanner.next();
if(str.equals("Y")){
break;
}
int i=Integer.parseInt(str);
System.out.println(num+=i);
get();
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式