public class JavaApplication13 {
public static void main(String[] args) {
int m;
System.out.println("请输入想要输入的图形号:");
Scanner reader=new Scanner(System.in);
m=reader.nextInt();
Picture picture=new Picture();
switch(m) {
case 1:System.out.println(Picture.picture1());break;
}
}
}class Picture{
public static void picture1()
{ int i,j;
for(i=1;i<=5;i++)
{
for(j=1;j<=i;j++)
{
System.out.print("*");
}
System.out.println("\n");
}
}
你的picture1()是void类型的,没有返回值,所以报错了, 把println去掉吧,直接执行就好了
报错是因为,你的方法使void类型,没有返回值。不能直接输出 加一个返回值就可以了.
或者直接调用方法,就不用改下面的返回值
System.out.println("请输入图形号:");
Scanner reader=new Scanner(System.in);
m=reader.nextInt();
Picture picture=new Picture();
Picture.picture1();
public class JavaApplication13 {
public static void main(String[] args) {
int m;
System.out.println("请输入图形号:");
Scanner reader=new Scanner(System.in);
m=reader.nextInt();
Picture picture=new Picture();
// 虽然不知道这一段想干啥,
switch(m){
case 1:System.out.println(Picture.picture1());
break;
}
}
}
class Picture {
public static String picture1() {
int i, j;
for (i = 1; i <= 5; i++) {
for (j = 1; j <= i; j++) {
System.out.print("*");
}
System.out.println("\n");
}
}
}
public class JavaApplication13 {
public static void main(String[] args) {
int m;
System.out.println("请输入想要输入的图形号:");
Scanner reader=new Scanner(System.in);
m=reader.nextInt();
Picture picture=new Picture();
switch(m) {
case 1:Picture.picture1();break;
}
}
}
class Picture {
public static void picture1() {
int i, j;
for (i = 1; i <= 5; i++) {
for (j = 1; j <= i; j++) {
System.out.print("*");
}
System.out.println("\n");
}
}
}
System.out.println()要输出()中的内容,而调用的方法返回值为void,也就是空,这不是冲突了吗?
调用另一个类中的方法使用 Picture picture=new Picture();创建对象,然后picture.方法名就行;你创建的对象没有使用
方法使用static修饰,可以通过实例化对象调用,也可以通过类名.方法名调用,你就是用的这种方式调用另一个类中的方法的