java
java中实现换行的几种方法?
一、java中实现换行的几种方法?
java中实现换行有以下几种方法:
1.使用java中的转义符"\r\n":
String str="aaa";
str+="\r\n";
这样在str后面就有换行了.
注意:\r,\n的顺序是不能够对换的,否则不能实现换行的效果.
2.BufferedWriter的newline()方法:
FileOutputStream fos=new FileOutputStream("c;\\11.txt");
BufferedWriter bw=new BufferedWriter(fos);
bw.write("你好");
bw.newline();
bw.write("java");
w.newline();
3.使用System.getProperty()方法:
String str = "aaa"+System.getProperty("line.separator");
附:针对常用的系统,可以使用如下的转义符实现换行:
windows下的文本文件换行符:\r\n
linux/unix下的文本文件换行符:\r
Mac下的文本文件换行符:\n
二、JAVA中能够实现方法的递归调用吗?如何实现?
可以递归调用
可以。所有的递归都可以使用循环来实现的,递归可能会出现栈溢出,实际过程中还是建议使用循环来实现。
实现
任意写一个函数,在函数体内自己调用自己就可以了。重要的是记住要在指定的条件下跳出,否则会无限递归,最终导致内存溢出。
以二叉树的前序遍历为例:
递归实现
非递归实现
三、Java中如何实现数字水印?
直接在图片上画呗,导入一张背景图片,在背景图片上画一个水印用graphics g,也就是frame的paint还是draw方法就可以实现
四、java中怎么实现定时功能?
我们可以使用Timer和TimerTask类在java中实现定时任务,详细说明如下:
1、基础知识java.util.Timer一种线程设施,用于安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行。此类是线程安全的:多个线程可以共享单个 Timer 对象而无需进行外部同步。java.util.TimerTask由 Timer 安排为一次执行或重复执行的任务。
2、示例代码该示例实现这样一个功能,在系统运行期间,每30分钟,系统自动检查连接池中的可用连接数,并输出到日志中。首先创建一个需要定时执行的任务类,这个任务类需要继承TimerTask,然后重写run()方法,run()方法体中的代码就是定时需要执行的操作,在本demo中,就是获取连接池中当前可用连接数,并输出到日志中,具体实现代码如下:public class TaskAvailableConnectNumber extends TimerTask { private Logger log = Logger.getLogger(TaskAvailableConnectNumber.class); private ConnectionPool pool=ConnectionPool.getInstance(); @Override publicvoid run() { log.debug("当前连接池中可用连接数"+pool.getAvailableConnectNumber()); }}下面定义一个监听器,负责在应用服务器启动时打开定时器,监听器需要实现ServletContextListener接口,并重写其中的contextInitialized()和contextDestroyed()方法,代码如下:public class OnLineListener implements ServletContextListener{ private Logger log = Logger.getLogger(OnLineListener.class); Timer timer = null; //在应用服务器启动时,会执行该方法 publicvoid contextInitialized(ServletContextEvent arg0) { //创建一个定时器,用于安排需要定时执行的任务。 timer = new Timer(); //为定时器安排需要定时执行的任务,该任务就是前面创建的任务类TaskAvailableConnectNumber,并指定该任务每30分钟执行一次。 timer.schedule(new TaskAvailableConnectNumber(), 0, 30*60*1000); log.debug("启动定时器"); } //应用服务器关闭时,会执行该方法,完成关闭定时器的操作。public void contextDestroyed(ServletContextEvent arg0) { if(timer!=null){ timer.cancel();//关闭定时器 log.debug("-----定时器销毁--------"); } }}监听器要想正常运行,需要在web.xml文件中进行配置,配置信息如下:<!-- 监听器配置开始 --> <listener> <listener-class> cn.sdfi.listen.OnLineListener </listener-class> </listener><!-- 监听器配置结束 -->以上步骤完成后,一个简单的定时器就算开发完成了。
五、java的继承中什么叫方法覆盖,是如何实现的?
方法覆盖,从字面就可以知道,它是覆盖了一个方法并且对其重写,以求达到不同的作用。最熟悉的覆盖就是对接口方法的实现,在接口中一般只是对方法进行了声明,而在实现时,就需要实现接口声明的所有方法。除了这个典型的用法以外,在继承中也可能会在子类覆盖父类中的方法。在覆盖要注意以下的几点:
1、覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果;
2、覆盖的方法的返回值必须和被覆盖的方法的返回一致;
3、覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类;
4、被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖
六、java中的invoke方法?
invoke(调用)就是调用Method类代表的方法。可以实现动态调用,例如可以动态的传人参数,可以把方法参数化。
可以把方法参数化invoke(class, method),比如Test类里有一系列名字相似的方法setValue1、setValue2等等,可以把方法名存进数组v[],然后循环里invoke(test,v[i]),就顺序调用了全部setValue。
七、java中的insert方法?
StringBuffer中insert(intoffset,Stringstr),意思就从offset开始插入某个字符串。举例:StringBuffera=newStringBuffer("aaaa");a.insert(2,"bb");执行结果:aabbaa。
八、JAVA中的构造方法?
构造方法是一种特殊的方法,与一般的方法不同是:
1.构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。
2.构造方法的调用是在创建一个对象时使用new操作进行的。构造方法的作用是初始化对象。
3.不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承。class RectConstructor{ double length; double width; double area(){ return length*width; } //下面这个方法就是所谓的构造方法,没有返回值,方法名与类名相同~~~ RectConstructor(double width,double length){//带参数的构造方法 this.length=length; this.width=width; } }其实构造方法就是为了给类中成员赋初值~~~~~~~~~~~~~
九、java中怎样实现附件在线预览?
publicvoidaddPoint(MapEventevent){AGSLocalMapResourceres=(AGSLocalMapResource)this。webContext。getResources()。get("ags0");try{//建立一个工作空间工厂对象,并设置它的参数信息。
十、java中如何用scanner实现输入数据?
java中Scanner类常用来进行数据的输入。
Scanner 类在java.util包中。
操作实例:
import java.util.Scanner;
public class Main {
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
System.out.print("imput name:");
String name = sc.nextLine();
System.out.print("input age:");
int age = sc.nextInt();
System.out.print("input height:");
float height = sc.nextFloat();
System.out.print("name:" + name + "\n" + "age:" + age + "\n" + "height:" + height);
}
}
输出结果如下图:
热点信息
-
有多种原因可能导致电脑无法下载 Python,以下是一些常见的原因: 1.网络问题:如果您的网络不稳定或存在问题,可能会导致下载失败。您可以尝试更换网...
-
一、$sql注入的原理? 一是直接将代码插入到与SQL命令串联在一起并使得其以执行的用户输入变量。上面笔者举的例子就是采用了这种方法。由于其直接与...
-
一、PHp如何连接数据库? PHp连接数据库方法步骤如下: 方法一:通过命令行备份与导入 方法二:如果是myisam引擎表可以直接拷贝粘贴到data中 方法三:通过...
-
一、winform编程入门教程? 没有winform编程入门教程,因系统不支持。 打开VS,点击新建项目,选择:其他项目类型-安装与部署-安装向导(安装项目也一样...