当前位置: 技术问答>java相关
菜鸟级的程序谁帮我看一下错在哪里,分数简直白送
来源: 互联网 发布时间:2015-08-26
本文导语: 为什么 bb=sub1(3); 这一句会出错 还有 public int sub1 (int y) 改为 public String sub1 (int y) 好像不能用 String类型 /////////////////////////////////////////////////// import javax.swing.* ; public class welcom1{ public static...
为什么 bb=sub1(3); 这一句会出错
还有
public int sub1 (int y) 改为 public String sub1 (int y) 好像不能用 String类型
///////////////////////////////////////////////////
import javax.swing.* ;
public class welcom1{
public static void main ( String args[]){
int bb=3 ;
bb=sub1(3);
javax.swing.JOptionPane.showMessageDialog(null,"ok");
System.exit (0);
}
public int sub1 (int y)
{
return y * y;
}
还有
public int sub1 (int y) 改为 public String sub1 (int y) 好像不能用 String类型
///////////////////////////////////////////////////
import javax.swing.* ;
public class welcom1{
public static void main ( String args[]){
int bb=3 ;
bb=sub1(3);
javax.swing.JOptionPane.showMessageDialog(null,"ok");
System.exit (0);
}
public int sub1 (int y)
{
return y * y;
}
|
两个错误,一:是少了一个括号,二:是定义为STATIC
import javax.swing.* ;
public class hello{
public static void main ( String args[]){
int bb=3 ;
bb=sub1(3);
javax.swing.JOptionPane.showMessageDialog(null,"ok");
System.exit (0);
}
public static int sub1 (int y){
return y * y;
} }
import javax.swing.* ;
public class hello{
public static void main ( String args[]){
int bb=3 ;
bb=sub1(3);
javax.swing.JOptionPane.showMessageDialog(null,"ok");
System.exit (0);
}
public static int sub1 (int y){
return y * y;
} }
|
静态方法中不能直接调用非静态方法。main()是静态方法,而sub1()不是静态方法,所以不能直接访问。可以把sub1()声明为static。或者这么写:
import javax.swing.* ;
public class Pass{
public static void main ( String args[]){
int bb=3 ;
sub s = new sub();
bb=s.sub1(3);
javax.swing.JOptionPane.showMessageDialog(null,"ok");
System.exit (0);
}
}
class sub{
public int sub1 (int y)
{
return y * y;
}
}
如果想把sub1()的返回类型声明为String型,就必须在方法中返回一个String型的值。例如:
public String sub1 (int y)
{
return "a string";
}
import javax.swing.* ;
public class Pass{
public static void main ( String args[]){
int bb=3 ;
sub s = new sub();
bb=s.sub1(3);
javax.swing.JOptionPane.showMessageDialog(null,"ok");
System.exit (0);
}
}
class sub{
public int sub1 (int y)
{
return y * y;
}
}
如果想把sub1()的返回类型声明为String型,就必须在方法中返回一个String型的值。例如:
public String sub1 (int y)
{
return "a string";
}
|
老兄,非静态的sub1啊,怎么再static main中用,建个实例先.
|
楼上的都回答的很好了,看来是我来晚了。不过给楼主点建议,要想学好任何一们语言,都要有好的基础。否者是空中楼阁,华而不实。
|
来晚了:)
在静态的类、或者方法中可以直接调用静态的方法,如果要调用非静态的方法,需要把这个方法所在的类先实例化。
在静态的类、或者方法中可以直接调用静态的方法,如果要调用非静态的方法,需要把这个方法所在的类先实例化。
|
如果你入门的开发环境是vj你就很容易解决这个问题。msdn里对这些错误都有说明。