我想在函数内调用用户定义的函数,而不创建对象或将任何值传递给被调用的函数。有没有可能的方法呢?请考虑以下代码
import java.io.*;
public class sorting
{
int number[]=new int[5];
void input()throws IOException
{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter 5 numbers");
for(int i=0;i<5;i++)
{
number[i]=Integer.parseInt(in.readLine());
}
}
void sort()
{
int no;
for(int i=0;i<5-1;i++)
{
for(int j=i+1;j<5;j++)
{
if(number[j]<number[i])
{
no=number[i];
number[i]=number[j];
number[j]=no;
}
}
}
}
void display()
{
for(int i=0;i<5;i++)
{
System.out.print(number[i]+"\t");
}
}
public static void main()throws IOException
{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
sorting o1=new sorting();
o1.input();
o1.sort();
o1.display();
}
}
这是用于顺序排序的代码。在void main中我创建了一个对象o1并调用了方法。但是我没有调用3种方法,而是希望通过调用其中一种来完成我的工作。据我所知,可以通过调用另一个函数内的函数来完成。
答案 0 :(得分:1)
是的,这是可能的。以下代码是满足您条件的示例:
//static -> no object creation
public static void a() {
b(); //call function inside a function
}
//static -> no object creation
//no arguments -> you do not pass any value to your function
public static void b() {
System.out.println("output something");
}
这回答了你的问题。如果它对您没有帮助,请重新提出您的问题,以便更清楚您的问题是什么。