java 栈溢出问题求教

public static void print(int n) {   
    StringBuilder str=new StringBuilder();
    if(n<10) str=str.append(n);
    else {   		
    	he(n-9);
    	str=str.append(9);
    }
    System.out.print(str);
}
请问这个函数因为n的数字过大会导致栈溢出,报错Exception in thread "main" java.lang.StackOverflowError。
原因是每一次递归都会产生一个对象,请问这个该如何解决?
#Java#
全部评论
import java.util.Scanner; public class Main { public static void main(String[] args) {         Scanner in = new Scanner(System.in);         int n=in.nextInt();         int[] id=new int[n];         for(int i=0;i<n;i++)             id[i]=in.nextInt();         in.close();         for(int i=0;i<n;i++) {          StringBuilder str=new StringBuilder();         int tmp=id[i];         while(tmp>9) {          str.append(9);          tmp-=9;                }         System.out.print(tmp);         if(id[i]>9)System.out.print(str);         }                    } } 输入:1 100000 输出为空白...
点赞 回复 分享
发布于 2019-09-21 22:54
网易笔试?
点赞 回复 分享
发布于 2019-09-21 18:27

相关推荐

面向对象的火龙果很爱...:去吃一顿炸鸡就走
点赞 评论 收藏
分享
那一天的Java_J...:他本来公司就是做这个的,不就是正常的游戏客户端和服务器开发,软硬件联动,有啥恶心不恶心的,提前告诉你就是怕你接受不了,接受不了就没必要再往后走流程浪费时间,虽然这公司是一坨。
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务