java Main函数怎么调用其他函数。 其他类。

publicclassjava{publicvoidgetInt(){StringstrChar="a(bc)()()dnn()()j";intiX=0;intiY=0;... public class java {
public void getInt(){
String strChar="a(bc)()()dnn()()j";
int iX=0;
int iY=0;
for(int p=0; p<strChar.length();p++)
{
String getstr=strChar.substring(p,p+1);
if(getstr.equals("(")){iX++;}
if(getstr.equals(")")){iY++;}
}
if(iX>iY)
{
System.out.println(iY);
}
else
{
System.out.println(iX);
}
}

public static void main(String[] args) {
System.out.println("总共有括号对数:");
}
}

帮我看看我这代码肿么改正确 错在哪里.. 谢了.
展开
 我来答
yksdtc
2012-07-12 · TA获得超过124个赞
知道小有建树答主
回答量:333
采纳率:0%
帮助的人:300万
展开全部
主函数main前必须有static修饰符,static表示是静态。
一般,在静态的方法中,若要|-直接-|调用其他方法,那么被调用的也必须是静态。
你的程序中包含两个部分
方法getInt() 和主函数main 其中主函数是静态(main必须是静态)。
那么要在main中直接调用getInt()是不可以了,因为getInt没有用static修饰,也就是说getInt不是静态。
将public void getInt() 修改成 public static void getInt() ,追加静态修饰符static后可直接调用。
主函数main修改为
public static void main(String[] args)
{
getInt(); //这里调用了上面的方法

System.out.println("总共有括号对数:");
}

返回值:
有些方法是带有返回值的,取决于你的用途。能不能带返回值取决于void修饰符
普通方法,无返回值void修饰 。如 public void fangfa()这是无返回值的
public int fangfa() 这个是有返回值的,而且返回值必须是int
举个例子
public int getPlayercounts()
{
int playercount = 0 ;//一般先初始化一个相应的变量待用(重要)

for (int i = 0 ; i < 99 ; i ++) //一些相关的计算和方法开始..

playercount ++ ;
return playercount; //返回一个int值(重要,而且是必须)

}
当你的方法不是用void修饰 而是用其他数据类型修饰,均尘让戚是要有返回值的,也就是说在方法的结束为止至少要有一个return + 相应的数据类型的变量 来结束。
那么返回值究竟有什么意义呢?
看下面这个例子、
public static int getPlayercounts() //注意我用了static 这是一个静态方法
{
int playercount = 0 ;//一般先初始化一个相应的变量待用派陵(重要)
for (int i = 0 ; i < 99 ; i ++) //一些相关的计算和方法开始..
playercount ++ ;
return playercount; //返回一个int值(重要,而且是必须)
}

public static voin main(String[] args)
{
System.out.println("一共有"+getPlayercounts()+"个玩家");

}

看出来了吧,getPlayercounts()执行后 会获得执行时得到的int数,在一些需要最后得到某个结果的方法中,用含有返回值的方法是非常方便的。

==============================================
你滑配的代码完全修改后如下,因为你需要的是得到括号数,所以将你的原有方法改成一个返回int值得方法。
public class java
{
public static int getInt()// 原来是 public void getInt() ,修改后增加了static修饰, int替换了void
{
String strChar="a(bc)()()dnn()()j";
int iX=0;
int iY=0;
for(int p=0; p<strChar.length();p++)
{
String getstr=strChar.substring(p,p+1);
if(getstr.equals("(")){iX++;}
if(getstr.equals(")")){iY++;}
}
return Math.min(iY, iX);//取两者之间的最小值(即括号对数)作为返回值
}
public static void main(String[] args)
{
System.out.println("总共有括号对数:"+getInt());
}
}

郁闷 写了半天发现你已经认可了。。
mikemelon2012
推荐于2017-11-25 · TA获得超过3633个赞
知道大有可为答主
回答量:938
采纳率:87%
帮助的人:384万
展开全部
帮你修改好了,可宏稿乱以运行,新修改的地方都加了注释:

public class java {
public static int getInt() { //修改了访问属性,和 返回敬辩值
String strChar = "a(bc)()()dnn()()j";
int iX = 0;
int iY = 0;
for (int p = 0; p < strChar.length(); p++) {
String getstr = strChar.substring(p, p + 1);
if (getstr.equals("蔽档(")) {
iX++;
}
if (getstr.equals(")")) {
iY++;
}
}
if (iX > iY) {
//System.out.println(iY);
return iY;//添加返回值
} else {
//System.out.println(iX);
return iX;//添加返回值
}
}
public static void main(String[] args) {
System.out.println("总共有括号对数:"+getInt());//添加了调用
}
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nyjavazhy
2012-07-12
知道答主
回答量:78
采纳率:0%
帮助的人:28.7万
展开全部
new java().getInt();你这个方法是对的,态梁只是不能在main里面打印,因为棚闭正链悔你的方法没有返回值,何况方法里面已经有打印了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
baojin107
2012-07-12
知道答主
回答量:3
采纳率:0%
帮助的人:4804
展开全部
楼主的意思不升毕迟太明确,是想要输出getint函数里的内容么,如果是这样的话,楼主可以再main方法里吵李直接数租调用getint方法就行了~
public static void main(String[] args) {
this.getInt();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Leo分享
2012-07-12 · TA获得超过754个赞
知道小有建树答主
回答量:1405
采纳率:0%
帮助的人:764万
展开全部
public class java {
public void getInt(){
String strChar="a(bc)()()dnn()()j";
int iX=0;
int iY=0;
for(int p=0; p<strChar.length();p++)
{
String getstr=strChar.substring(p,p+1);
if(getstr.equals("(")){iX++;}
if(getstr.equals(")")){iY++;}
}
if(iX>iY)
{
System.out.println(iY);
}
else
{
System.out.println(iX);
}
}

public static void main(String[] args) {
System.out.println("总共有括号对数:"闭型);
getInt();//没有调用函数 这样轿拦猜就衡亮对了
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式