| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 560 人关注过本帖
标题:[求助]这个一运行就提示异常.
只看楼主 加入收藏
wbushi
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-3-13
收藏
 问题点数:0 回复次数:3 
[求助]这个一运行就提示异常.

这道题是:在命令行输入一些字符串的值,并存到Vector里。并倒序显示Vector中的内容,然后降序排序并显示该内容.

import java.util.*;
class myStringBuffer{
StringBuffer objVector;
void reverse(){
objVector.reverse();
}
}
class Vector extends myStringBuffer{
Vector objVector;

Vector(){
objVector=new Vector();
}
void addElement(String t0,String t1,String t2,String t3,String t4) {
System.out.println(objVector.toString());
objVector.reverse();
System.out.println(objVector.toString());
}
}
public class myVector {
public static void main(String args[]){
String t0=args[0];
String t1=args[1];
String t2=args[2];
String t3=args[3];
String t4=args[4];
Vector obj=new Vector();
obj.addElement(t0, t1, t2, t3, t4);
}
}

一运行就提示“java.lang.StackOverflowError
Exception in thread "main"”

特此请教各位帮小弟修改一下此程序,或指点一下。小弟在此感激不尽!

搜索更多相关主题的帖子: Vector String reverse void java 
2006-06-30 02:05
hellboy
Rank: 1
等 级:新手上路
威 望:1
帖 子:245
专家分:0
注 册:2006-6-24
收藏
得分:0 

有问题哦 你在cmd下 输入 就不会 有异常了 但是你的程序有问题 怎么呢用字符串的发法直接把vector转换过来呢

[此贴子已经被作者于2006-6-30 9:02:32编辑过]


努力 努力 !!!!!!
2006-06-30 08:59
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
你之所以会出异常是因为你忽视了一个很重要的问题
那就是你这个程序会递归调用,一直到栈的空间用尽为止
最好你的程序就出现了栈溢出异常
你最好不要定义Vector对象,因为系统本身就有一个Vector对象
还有,你在超 类中定义了一个StringBuffer objVector;
而在子类中也定义了一个Vector objVector;
都是同一个名字 ,当你调用objVector.reverse()的时候
根据多态性,实际执行的是子类的objVector的对象在调用这个方法,这个方法是在父类中定义的,所以父类里面的参数objVector 这个时候指向的是子类中的的Vector对象,就这个产生了递归调用
还有,你在子类中定义的addElement()根本就没有起到作用
它谁加到谁里面去了?

可惜不是你,陪我到最后
2006-06-30 09:57
wbushi
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-3-13
收藏
得分:0 

十分感谢!


努力,加油!
2006-06-30 11:05
快速回复:[求助]这个一运行就提示异常.
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037303 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved