黑马程序员技术交流社区

标题: 关于打印字符串的问题 [打印本页]

作者: 陈雨    时间: 2013-3-20 16:17
标题: 关于打印字符串的问题
本帖最后由 陈雨 于 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基础才自学没几天,求高手解答.

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

或者: printwords ('a') //要加单引号,把要打印的字符一个个输入,比较麻烦
:     printwords ('b')
:    printwords (‘c’)
作者: 施家雄    时间: 2013-3-20 16:51
//需求:编写一个方法,在这个方法内打印字符串,并在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. }
复制代码

作者: 程媛媛    时间: 2013-3-20 18:01

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);
    }
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2