请教java中System.out.print()的使用规范

class Array{
private int[] data;
public Array(int enu){
data = new int[enu];
}
public void setData(int[] data){
this.data = data;
}
public int[] getInfo(){//数组的输出
return this.data;
}
}
public class Arrayproject {
public static void main(String[] args){
Array a = new Array(5);
}
}
如上代码,如何在调用Array类的getInfo()时候输出数组内的所有值呢;
从代码的最优考虑来讲
能直接使用一个 for循环 然后 print输出 的形式吗,
亦或是
在主方法里通过for循环 然后 print输出呢?
这样会不会让主方法显得十分的繁杂呢?
请教各位大触们的最优解决方法。

5个回答

各有利弊,放在主程序,主程序需要更多的代码,但是你的类和方法的适用范围更广,放在方法内,主程序是简单了,但是如果你希望换一种输出格式,那么就只好修改方法本身了,牺牲了灵活性。

两者兼得的办法是,使用接口,将依赖关系翻转,在方法内循环和迭代,在主程序里输出,这样就都兼顾了。如果你采纳本回答,可以写一个简单的例子。

qq_42266179
sysoalt/baba 我提了个问,你回答,我采纳好不好
10 个月之前 回复
caozhy
贵阳老马马善福专门编写代码的老马就是我! 回复qq_42266179: 然而lz连抬抬手采纳下都不愿意。算了。
10 个月之前 回复
qq_42266179
sysoalt/baba 你好能写一个吗,我想学习一下。。。
10 个月之前 回复

常规情况下,学习的时候,怎么好用怎么来,工程中,你要敢用System.out.print,我就敢让你退回去重写。有标准的日志接口调用,不要用System.out.print.
关于要不要在循环内使用,我的建议是,放到循环外部。有两点你要明白。
第一点,基本上我们写的程序不会只是简单的输出到文件,大多数会是输出到某个变量,再传递给下一个函数,而这里打印出内容,主要是为了记录下调用痕迹。所以正式写程序时,会有日志级别这一说,基本信息用info级别,调试信息用debug级别。而为了不让日志量报表,大部分信息将会在debug中,只有少量的重要信息会在info中,又因为不想让我的这次日志被其他日志乱入(多线程时常见)所以我们最好一次写入日志中。
第二点,写代码时想看看变量里倒地是什么,这个时候初级阶段你会使用System.out.print将变量输出到控制台或文件,但我更建议你使用debug调试工具,直接查看变量在内存中的值,这对你以后的开发会有好入。

学习阶段就不要考虑这么多了,给你个最简单的方式

int[] ints = new int[5];
System.out.println(Arrays.toString(ints));

Array arr=new Array()
System.out.println(arr.getinfo().toString());
控制台会显示数组内容。
如果要一个个的显示出来,那就用循环呀

使用Arrays.toString(), 就不用for循环一个一个打印了
在getInfo里写
System.out.println(Arrays.toString(this.data));

Arrays有很多的处理数组的很好的方法,建议直接查看JDK文档,在线JDK文档

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
System.out.print
再一个问题,JDK源文件中的OutPutStream.java中的write方法有3个rn1个是public abstract void write(int b) throws IOException;rn2个是public void write(byte b[]) throws IOException rn write(b, 0, b.length);rn rn3个是 public void write(byte b[], int off, int len) throws IOException rn if (b == null) rn throw new NullPointerException();rn else if ((off < 0) || (off > b.length) || (len < 0) ||rn ((off + len) > b.length) || ((off + len) < 0)) rn throw new IndexOutOfBoundsException();rn else if (len == 0) rn return;rn rn for (int i = 0 ; i < len ; i++) rn write(b[off + i]);rn rn rn第2个和第3个write互相调用,我就没看出来到底想做什么,如果长度是对的不是就会一直反复调用死循环么,我想看下System.out.print的原理是什么,但是翻到过后看不明白,好像没实现什么功能的
关于jsp中调用java,System.out.print问题
请教一问题,我写了A.java编译成A.class里面用了rnpackage gt.a;rnpublic class Arn public A()rn public void pintStr(String s)rn System.out.print(s);rn rnrn在B.jsp中rnimport gt.a.A;rn<%rnA a=new A();rna.printStr("test");rn%>rnrnrn发现没有打印test,请问这是怎么回事?rn
Android Studio 如何使用 System.out.print()
logcat 中并没有打印...是查看方式不对 还是需要特别方法?rnrn或者有其他打印方式?
System.out.print()和out.print()在使用时有什么区别?
总是搞不明白这一点。
java 局部内部类的使用规范
java 局部内部类的使用规范 java 局部内部类的使用规范
java 成员内部类的使用规范
java 成员内部类的使用规范 java 成员内部类的使用规范
java 匿名内部类的使用规范
java 匿名内部类的使用规范 java 匿名内部类的使用规范 java 匿名内部类的使用规范
请教websphere中J2EE规范使用的问题
ctx.lookup("java:comp/env/jdbc/sdmcc");这句话是使用了j2EE的规范,请问在打包程序如何设置能这样子使用呢,请高手详细的赐教,不胜感激。
java 静态内部类的使用规范
java 静态内部类的使用规范 java 静态内部类的使用规范
System.out.print编码问题
我从properties文件中取出的字符串,通过分割的到结果如下,“\u9001\u76d1\u5bdf\u5904\u9886\u5bfc\u5ba1\u6838”rn,然后用System.out.print打印出来,是原样输出。而我直接用 rnnew String ("\u9001\u76d1\u5bdf\u5904\u9886\u5bfc\u5ba1\u6838")手动写死的,然后打印出来的直接是中文。不知道是何原因。。。
System.out.print(""+'a'+1)和System.out.print('a'+1)区别?
为何结果不同?rnSystem.out.print(""+'a'+1)这个为什么输出的是字符串啊?
System.out.print();的问题????
比如一个java程序有条语句System.out.print("1");用windows命令行执行,命令行会显示1。rn如果是在jsp或者servlet中有这样的语句,当访问此页面会往哪里输出1字符串呢?服务器是tomcat的话。rn
system.out.print的问题
请教各位,以下各输出什么结果?rnsystem.out.print("on\\e");rnsystem.out.print(4+3);rnsystem.out.print(4+" "+3);rnsystem.out.print("\" quotes \"");rnsystem.out.print("\\\\t\\a\\");rnsystem.out.print("\\a\\b\\c");rnsystem.out.print(3+" "+4+5);rnsystem.out.print(3+4+" "+5+6);rn
jsp页面中 system.out.print 输出到哪里?
rt
java中 System.out.print("int :"+a)中a是以什么格式输出的
public class Test rn public static void main(String args[]) rn int i1,i2,i3;rn float f;rn char c;rn System.out.println("int:" + i1); //3rn c = 'A'; rn f = 3.0F; rn rnrn这是一个改错题,其他地方我改了但在//3的地方我找不出,我觉得是输出类型出错,题目要求输出int,在输出时i1是不是成了字符串类型。
java中,泛型的规范
学习java一段时间了,就没大注意过他的泛型应用和规范rn比如要定义一种Member泛型的List类:rnrnList list = new List();rnrnList list = new List ();rnrn这样有什么区别?
java中的注释规范
程序开发过程中,良好的注释习惯会极大的提高开发的进度和系统的可维护性。
请教在c#中有没有类似java的system.out.print方法
请教在c#中有没有类似java的system.out.print方法
请教e.printStackTrace()和System.out.print(e)有什么区别??
请高手讲解,最好用一个贴切点的比喻来讲,谢谢
JNI使用规范 JAVA书籍
JNI使用规范 教你如何是用JNI 本资源能够完全教会你如何使用JNI 从配置环境到最后的运用 JAVA书籍
如何规范的使用Java异常
写了几年代码,对于异常这个概念既熟悉又陌生,看了很多同事写的代码也都是各有各的风格,对于实际项目当中的非正常流程是应该返回错误代码还是抛出异常?抛出什么样的异常?从来没有认真的思考和总结过。本文参照一些技术书籍及博客论坛对该如何规范的使用异常的使用进行了总结。
关于java使用的一些规范
非空判断 我们在代码中经常这样写: if(user.getUserName().equals(&quot;test&quot;)){ } 这段代码极有可能在实际运行的时候跑出NullPointerException。无论是user本身为空,还是user.getUserName()为空,都会抛出异常。 所以,在调用一个参数时要确保他是非空的。 上面的代码可以改为: if(user!=null&amp;am...
jvm规范和java规范
jvm规范和java规范书籍。对深入理解JVM和深入了解java很有帮助
请教JAVA中的正则表达式的使用
前几天搞明白了Javascript中的正则表达式(当然,写的水平还是很不咋地),于是想把系统中的java代码中的比较累赘的搜索、替换的代码,用正则表达式替换掉。rn没想到java的正则表达式和javascript的应该是相差很大的。rn之前的代码中,我只用过String.split("[|]");rn根据javaAPI的正则表达式的例子rn[code=Java]rn Pattern p = Pattern.compile("a*b"); //1rn Matcher m = p.matcher("aaaaab");rn System.out.println(m.matches());rn[/code]rn结果是:true。但把第1行的“a*b”改为“ab”或者“a”,都会显示false。然后,加上“[]”或者“/”都不对。我就想不明白,"a*b"是正则表达式,怎么"ab"或者"a",就不是正则表达式了呢?split()用的是正则表达式,Pattern.compile()也是用正则表达式,为何写法不一样?应该如何写法?
请教在JAVA中使用数据库!
要想在JAVA应用程序中使用数据库,需要把对应的数据库驱动程序放在哪里(好象是有个CLASSES文件夹里吧,这个概念我非常模糊)?或者是设置计算机的CLASS_PATH变量,我也不知道该怎么做,可以告诉我吗?谢谢大家了~
System.out.print()打印各Java对象的输出说明
调用print方法传入一个对象打印输出时,会默认调用对象的toString方法,若对象没有覆写toString方法,则默认调用Object的toString方法。public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); }Class.getName方法
java中把system.out.print的内容输出到指定文件
构造方法中写      PrintStream ps=new PrintStream(&quot;文件路径&quot;);       System.setOut(ps);
System.out.print 和 System.err.print 有什么区别?
a.t.t
AsyncTask里诡异的 System.out.print
MainActivity中一个按钮监听器里:-------------------------------------------rnMyAsyncTask asyncTask=new MyAsyncTask();rnasyncTask.execute(123);rnrnMyAsyncTask的定义中-------------------------------------------------------rnpublic class MyAsyncTask extends AsyncTaskrn @Overridern protected String doInBackground(Integer... params) rn // TODO Auto-generated method stubrn System.out.println("doinBackground的参数接收到:");rn System.out.print(params[0].intValue());rn System.out.print(params[0].intValue());rnrn return "doinbackground执行完毕";rn rnrn------------------------------------------------------------------------------rnrn这样控制台只会输出:rndoinBackground的参数接收到:rnrn如果改成rn System.out.println("doinBackground的参数接收到:");rn System.out.print(params[0].intValue());rn System.out.println(params[0].intValue());rn这样控制台就会输出:rndoinBackground的参数接收到:rn123123rnrnrnrn----------------------------------------------------------------------------------rn这是为什么呢??
关于system.out.print和stdOut的区别
上课老师提要求,以后只准用stdOut 不让用system.out.printrn rn 请指点他们的区别以及stdOut的优势,感激不尽
MR程序中查看使用System.out.print()输出的内容
由于我们的MR程序一般是运行在集群上的,因此在MR程序中写的System.out.print()的内容是不会打印在屏幕上的,只能去NodeManager的日志中查看。具体的路径如下:$HADOOP_HOME/logs/userlogs/<job_id>/<container_id>/ 一般会有下面三个文件:-rw-r--r-- 1 root root 1710 3月 11 23:34 stder
arr为二维数组System.out.print(arr)与System.out.print(arr[0])为何不同
arr为二维数组。rn 我对数组在内存里的存储不是很懂,只模模糊糊觉得应该是连续存储的。还有我觉得arr是在栈内存中,应该是存储的指向arr[0][0]的地址;arr[0]是第一个一维数组,地址上应该也是指向arr[0][0]的地址,可是实际执行结果为什么不一样呢?rn打印(arr) 结果为[[I@内存地址的哈希值rn打印(arr[0]) 结果为[I@内存地址的哈希值。 实际执行,两个地址的哈希值不一样。哪位老师能帮忙解答一下,非常感谢!
System.out.print();和System.out.println();的区别
System.out.print();和System.out.println();的区别
关于System.out.print的性能问题
最近做的一个系统,面对的一个客户(小鬼子)简直让人无语。。 rn刚开始要求我们java包名大写。。。。本人虽才疏学浅,但起码也知道java命名规则中包名是英文+数字小写组成的啊。为了有说服力只能找到一个日文的命名规约网站。此事才罢休。 rnrn今天又要求每行代码前加System.out.print,美其名曰是为了以后系统出错的时候方便查找。。。 rn但据我所知System.out.print 比较占资源的。工程中不赞成使用。。所以这次还需要有力的证据来打倒小鬼子。 rn经过一番google后没找到相关信息(日文或英文),拜托各位大侠有没有System.out.print 比较占资源的相关证据给提供一个,要日文或者英文的网站。谢谢啦。
SVN源代码管理规范
在大多数人眼中的Subversion,就是那个在代码里被叫做“Trunk”的东西。其实Subversion包含了更多的内容! 为了让你能够更加充分体会到Subversion的好处,本文将讨论如何搭建你的版本库结构。 正如你之前在Subversion的相关文章中看到的那样,Subversion最基本的结构由三个路径组成:branches,tag和trunk。
在javaWEB规范中使用Cookie
在javaWEB规范中使用Cookie:           Cookie [] cookies=request.getCookies(); //获取cookie值放进数组            if(cookies!=null&&cookies.length>0){                     for(Cookie cookiess:cookies){
Java中文档注释规范思维导图
Java中文档注释规范思维导图
java中规范与实现的区别?
在学习Java的过程中,经常看到规范、实现两个字眼,但是,对于其具体区别,一直不是很明白,查阅相关资料,将自己的理解分享一下。 所谓规范就是大多数人共同遵守的原理或行为;而实现则是个人根据自己需要进行的实际操作和行为。例如:JVM的方法区就是一种规范,其规定了它的作用和用途,以及能够存放哪些东西(存储class、运行时常量池、字段、方法、代码、JIT代码等),而永久带或metaspace就是方法...
java中的关键字以及规范
关键字以及规范
Android中WebView使用规范
常用方法void goBack()——后退 void goForward()——前进 void loadUrl(String url)——加载指定URL对应的网页 boolean zoomIn()——放大网页 boolean zoomOut()——缩小网页WebView中的JavaScript调用Android方法WebView提供了一个配套的WebSettings工具类,该工具类提供了大量
相关热词 c# stream 复制 android c# c#监测窗口句柄 c# md5 引用 c# 判断tabtip 自己写个浏览器程序c# c# 字符串变成整数数组 c#语言编程写出一个方法 c# 转盘抽奖 c#选中treeview