Win8 jar程序图形化界面打开方法,告别命令行!

告别

java –jar target.jar

使用

javaw –jar target.jar

首先要装JDK或者JRE,这个不说了。
然后右击要打开的jar文件,
选择打开方式,点击更多选项,找到JDK或者JRE目录,选择使用javaw.exe打开

javaw1

 

设置之后,还是无法打开,这个时候需要修改注册表

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Applications\javaw.exe]
@=""
"IsHostApp"=""

[HKEY_CLASSES_ROOT\Applications\javaw.exe\shell]

[HKEY_CLASSES_ROOT\Applications\javaw.exe\shell\open]

[HKEY_CLASSES_ROOT\Applications\javaw.exe\shell\open\command]
@="\"D:\\Dev\\jdk1.7.0_40\\jre\\bin\\javaw.exe\" -jar \"%1\""

将上面的内容保存成reg格式,将其中的路径改为你的系统的JDK路径,我的路径是D:\Dev\jdk1.7.0_40\jre\bin\javaw.exe 对照上面的内容修改,注意路径是两个斜杠。之后导入注册表或者到注册表对应位置进行修改也可以。

HKEY_CLASSES_ROOT\Applications\javaw.exe\shell\open\command

上面的\shell\open\command可能默认不存在,手工创建或者导入上面的注册表后会自动创建。
这样之后就可以直接双击jar文件打开了,而且不弹出DOS窗口(java –jar target.jar会弹出DOS窗口)

做一套基于安卓系统的视频监控系统

需求分析:

1.低功耗

2.体积小

3.可远程访问

4.可以保留视频或图像记录

首先低功耗,所以使用电脑主机就首先被排除了,开始的时候想用51单片机来做,但是太过复杂,而且涉及到远程访问就比较麻烦,用ARM处理器自己做,开发周期较长;所以果断使用安卓系统来做,这样只要是安卓4.0的系统基本都可以通过使用OTG线将USB摄像头连接到安卓系统,这样就可以开发一款软件,基于安卓系统的视频监控。体积上的问题,这个要看使用的安卓设备了;远程访问,这个功能要看安卓软件了,可以使用SAE作为服务器,降低成本,方便查看管理,可用性高;保留视频或图像记录,可以将安卓设别接入网络,这样就可以实时的将图像传到SAE的服务器上,也方便了远程查看。

开发分析:

为了缩短开发周期,降低开发难度,所以希望使用PhoneGap中间件来制作这款软件。通过定时调用摄像头并将采集到的图像实时异步传送到SAE服务器上,剩下的查看和管理就全靠做SAE服务端的工作了。

客户端软件应该包括以下几个基本功能:

1.能够选择使用的摄像头

2.能够设置或写死服务端的连接方式

3.能够确保将图像传送到服务器

4.具有高可用性,连续工作不会死机

5.能够听从服务端指令进行系统操作

 

java左移右移问题

java的左移和右移不是循环移动,遵循下面的规则:

1.右移

右移运算用来将一个数的二进制位序列右移若干位。例如x>>=2,使x的各二进制位右移两位,移到右端的低位被舍弃,最高位则移入原来高位的值。例如:x=00110111,则x>>2为00001101;y=11010011,则y>>2为11110100

2.左移

左移运算用来将一个数的二进制位序列左移若干位。例如x<<=2,使x的各二进制位左移两位,右边补0,若x=00001111,则x<<2为00111100.最高位左移后溢出,舍弃不起作用。

右移运算相当于对这个数字除2取商,左移运算相当于对这个数字乘2,而且使用左移右移实现乘法除法比使用乘法除法运算速度要快。

注意:以上等效是在不溢出的情况下进行。对于负数运算的左移是必然会溢出的

当然,如果要实现对负数的操作,由于计算机在处理负数的时候是对补码进行操作,所以除2其实是对补码的操作,因此对负数的操作需要对补码进行处理。

注意:补码运算的时候,最与最高位符号位是要保持不变的。另外,如果左移右移大于数据类型长度时候,会先取模。比如int i ,左移33,会变为左移1,也就是33%32

Java判断两个字符串是否考虑大小写情况下是否一致

先考虑是否完全一致,

然后考虑排除大小写的情况是否一致,

都不满足则不一致

/**
 * @(#)isequal.java
 *
 *
 * @author 
 * @version 1.00 2013/6/19
 */

import java.util.*;
public class isequal {

    public isequal() {
    }
    public static void main (String[] args) {
		Scanner S=new Scanner(System.in);
		String str1=S.next();
		String str2=S.next();
		if(str1.equals(str2)){
			System.out.println ("两个字符串完全一致!");
		}
		else if(str1.toLowerCase().equals(str2.toLowerCase())){
			System.out.println ("两个字符串一致,但是大小写不一致");
		}
		else{
			System.out.println ("两个字符串不同");
		}
	}
    
}

Java判断字符串是否为回文字符串

很简单,就不多说了~~直接用的String

/**
 * @(#)huiwen.java
 *
 *
 * @author CplusHua
 * @version 1.00 2013/6/19
 */

import java.util.*;
public class huiwen {

    public huiwen() {
    }
    public static void main (String[] args) {
		Scanner S=new Scanner(System.in);
		String  str=new String();
		str=S.next();
		boolean isString=true;
		for(int i=0;i<str.length()/2;i++){
			if(str.charAt(i)!=str.charAt(str.length()-1-i)){
				isString=false;
				break;
			}
		}
		if(isString){
			System.out.println ("是回文字符串");
		}
		else{
			System.out.println ("不是回文字符串");
		}
	}
    
}