A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈雨 中级黑马   /  2013-3-20 16:17  /  2110 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 陈雨 于 2013-3-20 17:07 编辑

需求:编写一个方法,在这个方法内打印字符串,并在main()方法内调用.
以下是我写的代码:
class test2
{
    public static void main(String[] args)
   {
      printwords (abc);
   }
          public static void printwords(char x);
        {
         System.out.print(x);
        }
}
不知道为什么显示出来,老是说我abc没定义,但是我该成 printwords(int x),然后在输入printwords(123)又可以打印出来.难道是X这里不是变量了,char x就仅仅定义了x?0基础才自学没几天,求高手解答.

6 个回复

倒序浏览
首先我要和你说两个概念 形式参数和实际参数
public static void printwords(char x); 这里的x是一个形式参数
printwords (abc);这里要传入的是一个实际参数
但是 你传入的并非是一个实际参数,因为你根本没告诉java虚拟机abc是什么,虚拟机根本不知道怎么去操作
你应该先定义一下abc,例如char abc = 'a';
然后再把abc传给printwords方法
回复 使用道具 举报
首先 char 是字符,printwords ('a'); 这样就能打印一个a
如果要打印字符串。
  1. public static void printwords(String x);
  2.         {
  3.          System.out.print(x);
  4.         }
复制代码
方法改成上面这样。
然后调用的时候
printwords ("abc");
回复 使用道具 举报
public static void printwords(char x)  ;char是定义字符型数据,只能是单个字符,
如果要用话的里面只能传单个字符,需要用单引号也就是'a'
如果你要传字符串的话,就要用string定义  public static void printwords(string x) ;
里面传进去的要用双引号也就是"abc"
回复 使用道具 举报
你这里的abc没有定义,程序无法识别当然打印不出来,并且你的方法形式参数printwords(char x)是char,即要传入的参数是字符不是字符串
程序可以这样修改: printwords (“abc”);加引号  然后修改方法
改方法:public static void printwords(String x);把char 改为String

或者: printwords ('a') //要加单引号,把要打印的字符一个个输入,比较麻烦
:     printwords ('b')
:    printwords (‘c’)
回复 使用道具 举报
//需求:编写一个方法,在这个方法内打印字符串,并在main()方法内调用.

1、楼主写方法名时,要是有两个单词以上的话,要写成这样的格式:xxxYyy()   。虽说没有错,但是大家都按规则做,你不这样做就不行。
2、就是字符和字符串的区别你没有搞懂了。建议你多看下论坛,上面有好多这方面的知识。
3、你的意思是在方法里面打印字符串,就是在里面定义好了,并输出。实际很简单。这样做没有什么意义,最好是在方法里做好一些功能。在主函数里传参数调用。而你的意思是在方法的做好了再在主函数里调用。一般不建议在方法里有输出语句的。下面的代码能实现你的功能。

  1. class StringDemo2
  2. {
  3.         public static void printWords()
  4.     {        String x="abc";
  5.         System.out.print(x);
  6.     }
  7.     public static void main(String[] args)
  8.     {
  9.             printWords();
  10.     }
  11.       
  12. }
复制代码
回复 使用道具 举报

class Demo4
{
    public static void main(String[] args)
    {
      printwords ('a');//printwords(char x),这个x是一个char类型的参数,你应该在里面传一个char类型的实际参数例如'b'。或者定义一个 char abc = 'c';,将abc传进去
    }
    public static void printwords(char x)
    {
         System.out.print(x);
    }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马