java函数调用(在一个类中怎么调用另一个类的变量和函数)

java函数调用(在一个类中怎么调用另一个类的变量和函数),第1张

for(int i=0;i<3;i++)

{

stu[i]=new Student();

score[i]=new Score();

Systemoutprintln("学生"+(i+1)+"的名字:");

stu[i]name=innext();

Systemoutprintln("学生"+(i+1)+"java成绩:");

score[i]java=innextFloat();

Systemoutprintln("学生"+(i+1)+"DB成绩:");

score[i]db=innextFloat();

Systemoutprintln("学生"+(i+1)+"C语言成绩:");

score[i]c=innextFloat();

}

改成:

for(int i=0;i<3;i++)

{

stu[i]=new Student();

Systemoutprintln("学生"+(i+1)+"的名字:");

stu[i]name=innext();

Systemoutprintln("学生"+(i+1)+"java成绩:");

stu[i]scorejava=innextFloat();

Systemoutprintln("学生"+(i+1)+"DB成绩:");

stu[i]scoredb=innextFloat();

Systemoutprintln("学生"+(i+1)+"C语言成绩:");

stu[i]scorec=innextFloat();

}

主函数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(); //这里调用了上面的方法

Systemoutprintln("总共有括号对数:");

}

返回值

有些方法是带有返回值的,取决于你的用途。能不能带返回值取决于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)

{

Systemoutprintln("一共有"+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<strCharlength();p++)

{

String getstr=strCharsubstring(p,p+1);

if(getstrequals("(")){iX++;}

if(getstrequals(")")){iY++;}

}

return Mathmin(iY, iX);//取两者之间的最小值(即括号对数)作为返回值

}

public static void main(String[] args)

{

Systemoutprintln("总共有括号对数:"+getInt());

}

}

郁闷 写了半天发现你已经认可了。。

所以你的问题是什么?

类中函数调用只需 Class class = new Class(); 然后 classfunciton();就可以了

静态函数则是直接实用类名加函数名 Classfunction();

这个需要设置Container

代码如下:

public class Gui {

// 主函数

public static void main(String[] args) {

Frame();

}

// 定义窗体

static void Frame() {

JFrame fra = new JFrame();

frasetTitle("圈插图");

frasetVisible(true);

frasetSize(300, 300);

// frasetBackground(ColorGREEN);

fragetContentPane()setBackground(ColorGREEN);

}

}

import javautilScanner;

public class Text2 {

static boolean panduan(int m) {

if (m % 2 == 0){

Systemoutprintln(m + "能被2整除");

return true;

}

else{

Systemoutprintln(m + "不能被2整除");

return false;

}

}

public static void main(String args[]) {

Systemoutprintln("请输入一个数!");

Scanner input = new Scanner(Systemin);

int shuru = 0;

while(!panduan(shuru=inputnextInt())){

Systemoutprintln("请重新输入一个整数");

}

}

}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/12179881.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-21
下一篇2023-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存