当前位置:文档之家› 手机JAVA程序下载安装方法大全

手机JAVA程序下载安装方法大全

手机JAVA程序下载安装方法大全
手机JAVA程序下载安装方法大全

手机JAVA程序下载安装方法大全

2009-04-19 15:23

一.JAVA程序传送到手机的方法:

JAVA程序传送到手机的方法有4种,分别是手机上网直接下载安装,通过电脑下载到本地后,然后通过读卡器,数据线,蓝牙,红外线传输JAVA 程序到手机.具体方法说明如下.

1.手机上网下载:

通过手机上网下载以及使用短信定购的方式,直接在手机的个人文档或者应用程序中找到(根据手机各不相同),无需在安装,直接可以在类似“我的文件夹”之类的选项找到。

使用电脑下载就需要将文件传送到手机上。

2. 读卡器:

1 新买的卡,先在手机上格式你的 TF 卡:设置——手机状态——存储存储设备——卡——菜单键——格式 OK

或先安装 TF 卡到手机上采取拍照,录象的方式,激活 TF 卡的文件夹。如果是已经使用的就不必了...

2 .将我的电脑——工具 - 文件夹选项 - 查看中的,隐藏文件和文件夹——选显示

3 .打开我的电脑——工具 - 文件夹选项 - 查看,把“ 隐藏受保护的操作系统文件” 前面的勾去掉

4.然后用读卡器打开你的 TF ,就可以看见 TF 卡上的 KJAVA 了。copy JAVA程序(包括 *.JAR,*.JAD)到你 TF 卡的 KJAVA 目录里就行了

5 .安装 TF 卡到手机。

6 .进入手机“ 游戏和应用程序)里安装新的程序 OK

3.数据线传输:

通过安装购买手机时所附带的软件安装盘,安装其pc套件,用数据线接上手机与电脑,通过管理软件把JAVA程序文件*.JAD,*.JAR传送到手机上;MIDWAY2.8 也可以传输 JAVA 程序,但是需要开启 JAVA 设置

中的 "JAVA 加载器 "

4.蓝牙传输:

1 .把蓝牙适配器安上

2 .手机蓝牙开启

3 .双击电脑任务栏上的蓝牙图标,和手机匹配

4 .再点任务栏上的蓝牙图标,直接发送文件到手机,手机自动识.

5.红外线传输

与蓝牙一样,也是可以使用鼠标来传输。只不过红外需要点对点,所以将手机红外功能打开后,与你所买的红外适配器对整齐,才能传输。红外在XP、2K、2003的系统下无须驱动。

二、安装问题-相关说明

1. 如何安装Kjava程序

JAVA平台的手机软件一般有两个文件,一个是jar,一个是jad。诺基亚等品牌的机器需要两个文件都传入手机中才能正常使用。

而索爱等品牌的手机只需要一个jar文件就可以用了。具体情况要根据你自己的手机来确定。

如果你是下载至电脑本地安装,你的手机需要用到.jad文件才能完成安装. 通过数据线,红外或蓝牙等方式把两个文件[.jar,.jad]存到手机上同一个目录中即可。

2.如何安装Symbian程序

Symbian软件安装包通常是.sis的压缩文件,其中包含许多组件文件。安装步骤如下:

(1) 安装文件可以通过蓝牙连接或红外连接发送至手机.

(2) 在手机收到信息后,打开新信息,选择打开->安装

(3) 按照提示一步一步操作下去,直到安装完成

3.如何安装微软SmartPhone智能手机软件

在使用微软操作系统的SmartPhone上安装软件,有三种方法: (1)直接拷贝法

与电脑类似,在智能手机上也流行“绿色软件”一说。这一类软件只须将相关文件Copy到手机或存储卡上,然后建立一快捷方式,并将其拖入“Storage\windows\Start Menu”文件夹。欲使用该软件,只须进入“开始”菜单即可。

小知识:与电脑不同,使用微软操作系统的SmartPhone并未自带资源管理器,因此须要自行安装,否则无法进行文件操作。推荐使用Explorer 2003。

(2)CAB文件安装法

如果下载的软件为*.CAB格式,那么请先用数据线或者读卡器将该文件Copy到SD卡等附加储存卡上(不推荐Copy到手机内置闪存上)。然后打开资源管理器(笔者使用的是Explorer 2003中文版),选中文件按OK键执行安装。一般来说,系统会弹出警告,点击确定即可。

有的软件可能会选择安装路径,选择安装路径,建议选择将软件安装到储存卡上。安装完毕后,就可以在开始菜单中找到该软件的快捷方式了。

(3)EXE文件安装法

前两种文件的安装都比较简单,但如果遇到*.EXE文件,那么安装起来就稍显繁复。首先,必须在电脑里安装Microsoft ActiveSync同步软件;其次,须要一根同步数据线或红外/蓝牙适配器(推荐使用数据线)。当这两者都齐备后,就可以进行安装了。

Microsoft ActiveSync联线后,双击运行*.EXE文件会看到一个安装界面。选择一个目录,单击安装,安装文件会自动解压并传送数据至手机。在电脑屏幕上弹出提示时,就要换为手机操作了。按照手机屏幕上的提醒,选择将软件安装在手机或者储存卡上即可。

安装java程序要有两个文件,一个是JAR和JAD, 但拷贝下来的游戏只有JAD这个文件和一个JAR压缩文件.首先把JAR压缩文件(压缩文件不要解压)和JAD文件下载到电脑里面去,把这两个文件直接拷贝到手机里的其它文件这个目录下,或者在手机储存卡other files这个文件夹里,然后在复制到手机的其他文件夹就可以了,在手机的其他文件里你会看到一个JAD文件和一个JAR的文件,这样的话JAD和JAR文件都已经具备了,下面就可以安装了!

4.替换补丁

有的软件的压缩包里还有几个软件名.rsc或软件名.app ,这是破解补丁或汉化补丁。替换之后就能把共享软件破解,把英文软件汉化。

用红外,蓝牙,pc套件,读卡器中的一种,把软件名.rsc或软件名.app 传到手机上,用手机上的文件管理器,将他们剪切,粘贴到

/system/apps/软件名/ 目录下,覆盖就可以了。

再打开,是不是就好了.

三安装例子

1 诺基亚手机安装MP手机浏览器JAVA程序

安装 JAVA程序先要传输软件,安装的步骤如下:

(1)先下载 JAVA程序 ;

(2)就是选择"Java加载器",手机显示"请插上电缆,然后再将数据线插上手机里,连接电脑,手机会显示"Jal连接正在启动"等字,跟着回到原界面就OK啦。

(3)运行Midway 2.8汉化版,会提示设置端口,选"是"进行端口设置,但要与电脑设备管理器里的"Motorola USB Modem"的端口保持一致,步骤如下:

A、提示,是否要设置端口,选择“是”,

B、设置Midway 2.8的端口,须与电脑设备管理器里的“Motor ola USB Modem”的端口保持一致,

C、端口设置好之后就能看到Midway 2.8的主界面,然后选"打开"

D、打开jad文件之后就可看到JAVA程序的信息了,选发送按扭就OK啦,

(4)然后再等Midway 2.8的进程被蓝色格仔填满后就表示下载完成啦,同时也会显示"Downloading completed",手机上会显示下载完成,正在安装,安装完后显示是否运行程序这安装成功啦。

2. 三星手机安装MP手机浏览器JAVA程序

对于一般的三星手机,从电脑下载和安装JAVA程序的比较复杂,需要一定的技术,大家可以到三星官方论坛查询详细资料。

刚入门的玩家我们推荐使用WAP下载或者手机互传来获得MP手机浏览器JAVA程序(jad,jar)

从WAP上下载的游戏手机会自动安装。一般来说会有一些友好的提示如:

(1)是否安装JAVA程序?

下载下来当然是要安装的,选择“是”。

(2)JAVA程序未经过(签名/认证,或者之类的提示),是否继续?

同样选择“是”。

(3)有的手机会要求你选择安装的路径,一般我们安装在“游戏”、“百宝箱”这些地方,总之要找一个你的其它JAVA程序所在的位置或者一个你能找到的地方。

3. 多普达(智能手机安装MP手机浏览器JAVA程序

多普达手机采用的是Windwos操作系统,现以多普达575为例,来说明JAVA游戏安装方法,其他Windwos操作系统的手机请参考该文。

移动定制的Windwos手机内置了百宝箱程序,其使用方法和其他手机的方法一样,在此就不细说了。没有内置百宝箱的Windows手机,如多普达515就要使用第三方的JAVA模拟器。

而且我们在实际使用中发现,内置的百宝箱运行起来效果并不理想。所

以对于使用Windows系统的智能手机,我们推荐使用第三方的JAVA模拟器。

这里有2个模拟器软件供大家选择:JMM和DMIDP2。

JMM:

JMM的兼容比较好,对声音的支持也不错,但运行时会占用很大的系统资源,而且对汉字的支持不是很好。

DMIDP2:

相比JMM来说,占用的系统资源少,运行的速度还不错,而且特别是对MP手机浏览器的支持非常好,可以全屏使用,对于中文显示的支持也比JMM好一些。

安装:

2款软件都是绿色软件,直接拷贝到卡上即可。对于JAR和JAD

文件,还需要在文件浏览器(以Resco Explorer为例)中设置文件关联:

(1)选中JAR文件,点Action→Open→Open With来选择应用程序。

(2)由于是绿色软件,系统还没有登记,所以要手动选择应用程序。选Menu→Browse。

(3)再选择Menu→Browse Folder。

(4)选择模拟器所在的文件夹,打开,就能看到应用程序。

(5)选择DMIDP2,点Select。最后选Done。

(6)这样以后下载了JAVA程序直接确认打开,系统就会调用

DMIDP2自动安装了。

4.某些特定机型安装方法,如:

1) 三星 SGH-E908 -JAVA安装方法

第一步从网上下载MP手机浏览器的jar,jad安装文件。

第二步向手机传送游戏jar,jad安装文件。如用数据线将手机与电脑连接,在电脑的资源管理器中出现TF卡的盘符,把电脑里的jar,jad文件复制到TF卡中。

第三步安装MP手机浏览器。断开手机与电脑的连接,从手机“我的收藏”找到并点击.jar文件,就可以把这个游戏安装到手机里,你可以选择游戏图标所在的位置(办公、多媒体、应用等程序表的子文件夹)。安装完毕.jar文件自动消失。

第四步运行MP手机浏览器。从手机“程序表”打开程序,就随你上网了.

其它.jar格式的程序、电子书安装方法与此相同。

(注意待机状态下输入:*#9998*5282# 选择第三个选项,密码是:235282)

2)三星U608 JAVA程序安装方法

第一、如果你没有内存卡,即TF卡,必须下载PC套件连接手机。然后把jar和jad文件通过数据线传输到手机本机内存文件夹“其他文件夹”也就是中。

第二、如果你有内存卡,可以尝试使用读卡器或手机USB设定选择“大容量存储器”。把jar和jad文件一起放进手机TF卡的"其他文件"夹里.即“other files” 文件夹里。然后打开文件夹把两个文件都移动到手机自身的“其他文件夹”

最后,在待机状态下输入*#9998*4678255#,点JAD,然后安装。注意必须是有JAD文件的,一定要是存在本机(切记是本机)的其他文件夹里。

3)联想i908JAVA程序安装方法

(1) 先拨####5282# (如果没装过JAVA程序,显示空文件夹)

(2) 插USB

(3) 选储存装置选项(这时电脑显示可移动磁盘出现)

(4) 打开可移动磁盘

(5) 选页面上方的工具-文件夹选项-查看-把隐藏受保护的操作系统文件(推荐)前面的勾去掉-选则显示所有文件和文件夹-应用

(6) 这样在电脑上就可以看到midlets这个文件夹了,将JAVA游戏的JAD及JAR文件拷到这个文件夹中(注意一定要把同一个游戏的jad和jar两个文件都放入手机,不要解压jar文件,如果没有JAD的去下个转换软件)

(7) 安全删除硬件(移动硬盘)拔掉USB手机端

(8) 再拨####5282#,会出现JAVA文件夹,点选项-安装

(9) 安装好的游戏在娱乐多媒体-JAVA文件夹里

转载自48423883的空间

JAVA经典算法案例

JA V A经典算法40例 【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.... public class exp2{ public static void main(String args[]){ int i=0; for(i=1;i<=20;i++) System.out.println(f(i)); } public static int f(int x) { if(x==1 || x==2) return 1; else return f(x-1)+f(x-2); } } 或 public class exp2{ public static void main(String args[]){ int i=0; math mymath = new math(); for(i=1;i<=20;i++) System.out.println(mymath.f(i)); } } class math { public int f(int x) { if(x==1 || x==2) return 1; else return f(x-1)+f(x-2); } } 【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 public class exp2{ public static void main(String args[]){ int i=0; math mymath = new math(); for(i=2;i<=200;i++) if(mymath.iszhishu(i)==true) System.out.println(i); } } class math { public boolean iszhishu(int x) { for(int i=2;i<=x/2;i++) if (x % i==0 ) return false; return true; } } 【程序3】题目:打印出所有的"水仙花数",所谓"水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水

java文件流操作

java 文件流操作 2010-05-08 20:17:23| 分类:java SE | 标签:|字号大中小订阅 java中多种方式读文件 一、多种方式读文件内容。 1、按字节读取文件内容InputStream 读取的是字节 2、按字符读取文件内容InputStreamReader 读取的是字符 3、按行读取文件内容BufferredReader 可以读取行 4、随机读取文件内容 import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.RandomAccessFile; import java.io.Reader; public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。* @param fileName 文件的名 */ public static void readFileByBytes(String fileName){ File file = new File(fileName); InputStream in = null; try { System.out.println("以字节为单位读取文件内容,一次读一个字节:"); // 一次读一个字节 in = new FileInputStream(file); int tempbyte; while((tempbyte=in.read()) != -1){ System.out.write(tempbyte); } in.close(); } catch (IOException e) { e.printStackTrace(); return; } try { System.out.println("以字节为单位读取文件内容,一次读多个字节:"); //一次读多个字节

Java读取txt文件中指定行内容

获取文本内容与读取文本指定行数内容浅析(java) 在此项目中直接套用以前工程中获取文本内容的方法发现一直提示“数组下标越界”,通过分析和查找得出以下心得: 获取文本内容: private static final String CHART_PATH ="D://data3"; public static void main(String[] args) throws RowsExceededException,WriteException, BiffException{ try { readFileByLines(CHART_PATH+".txt"); } catch (IOException e) { // TODO: handle exception e.printStackTrace(); } } public static void readFileByLines(String fileName) throws IOException,RowsExceededException,WriteException{ //打开文件 WritableWorkbook book = Workbook.createWorkbook( new File(CHART_PATH+".xls")); WritableSheet sheet = book.createSheet("看我", 0); //读取txt文件内容 File file = new File(fileName); FileInputStream fis = new FileInputStream(file); InputStreamReader isr = new InputStreamReader(fis,"GBK"); BufferedReader reader = null; try { reader = new BufferedReader(isr); String temString = null; //一次读入一行,以null结束 int i = 0; while((temString = reader.readLine())!= null){ System.out.println("+++++++"+temString); String[] str = temString.split(","); for(int j= 0;j

Java经典算法大全

Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.... */ package https://www.doczj.com/doc/3618848300.html,.flywater.FiftyAlgorthm; public class FirstRabbit { public static final int MONTH = 15; public static vo id main(String[] args) { long f1 = 1L, f2 = 1L; long f; for(int i=3; i

java对文件名的几个操作,获取文件扩展名,去掉扩展名

java对文件名的几个操作,获取文件扩展名,去掉扩展名 /** * Return the extension portion of the file's name . * * @see #getExtension */ public static String getExtension(File f) { return (f != null) ? getExtension(f.getName()) : ""; } public static String getExtension(String filename) { return getExtension(filename, ""); } public static String getExtension(String filename) { return getExtension(filename, ""); } public static String getExtension(String filename, String defExt) { if ((filename != null) && (filename.length() > 0)) { int i = https://www.doczj.com/doc/3618848300.html,stIndexOf('.'); if ((i >-1) && (i < (filename.length() - 1))) { return filename.substring(i + 1); } } return defExt; } public static String trimExtension(String filename) { if ((filename != null) && (filename.length() > 0)) { int i = https://www.doczj.com/doc/3618848300.html,stIndexOf('.'); if ((i >-1) && (i < (filename.length()))) { return filename.substring(0, i); } } return filename; } substring(参数)是java中截取字符串的一个方法 有两种传参方式

java读取上传excel文件和txt文件中的数据

Java 读取上传文件里的数据,记事本文件和excel文件 本文,文本文件里的数据,每列以 Tab 分隔。 其它分隔符情况下,只需修改对分隔符的判断即可 本文是将文本文件或excel文件里的数据读到List 里。 List , List, ........可以改为返回其它类型的数据集 UpLoadExcel 类里需要操作excel的 jar包 import org.apache.poi.* ; 网上可以搜索下载,简单快捷 ---------------------------------------------------------------------------- - - - public class upLoadAction extends DispatchAction { public ActionForward doAdd(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { TestForm myForm = (TestForm) form; FormFile f = myForm.getUpfisle(); //get上传文件 String fileName = f.getFileName(); // 截取文件名的后三位字符 String fileType = fileName.substring(fileName.length()-3,fileName.length()); System.out.println("导入的文件名:"+fileName+"\t 文件后缀名:"+fileType); List list = new ArrayList(); if("xls".equals(fileType)){ // 上传文件是excel时文件文件后缀名为xls list = new UpLoadExcel().getExcelData(f.getInputStream()); }else if("txt".equals(fileType)){ list = new UploadText().UploadText(f.getInputStream()); } // 操作读取出来的数据,例如: if (list.size() > 0) { String[] str = null; for(int i = 0; i < list.size(); i++) { str = list.get(i); st = "insert into student (sName,sAge,sAddress,sTelephone) values(" ; st = "'" + st + str[0] + "'"; st = ",'" + st + str[1] + "'"; st = ",'" + st + str[4] + "'"; st = ",'" + st + str[6] + "'"; st = st + ")"; ...... System.out.println(st);

JAVA算法100例_全源码

JA V A经典算法40题 【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.... public class exp2{ public static void main(String args[]){ int i=0; for(i=1;i<=20;i++) System.out.println(f(i)); } public static int f(int x) { if(x==1 || x==2) return 1; else return f(x-1)+f(x-2); } } 或 public class exp2{ public static void main(String args[]){ int i=0; math mymath = new math(); for(i=1;i<=20;i++) System.out.println(mymath.f(i)); } } class math { public int f(int x) { if(x==1 || x==2) return 1; else return f(x-1)+f(x-2); } } 【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 public class exp2{ public static void main(String args[]){ int i=0; math mymath = new math(); for(i=2;i<=200;i++) if(mymath.iszhishu(i)==true) System.out.println(i); } } class math { public int f(int x) { if(x==1 || x==2) return 1; else return f(x-1)+f(x-2); } public boolean iszhishu(int x) { for(int i=2;i<=x/2;i++) if (x % 2==0 ) return false; return true;

Java读取Excel文件的几种方法

Java读取Excel文件的几种方法 最近单位有个项目需要读取excel文件的内容,特别对java读取excel文件的方法做了一点学习,也为了其他人以后能更简单地开发,少走弯路,特写此文,以下程序经过了我的测试,可以保证程序可用,如果你照搬都不行,可能是你的环境有问题。 读取excel文件的常用开源免费方法有以下几种: JDBC-ODBC Excel Driver jxl.jar jcom.jar poi.jar 下面分别对这几种方法分别进行探讨 1、JDBC-ODBC Excel Driver 这种方法是将excel看成是数据库进行操作,使用SQL Select语句即可 查询excel表格。优点是:不需要第三方的jar包。 如下表样 首先在控制面板进行数据源ODBC登记 具体方法如下:

下面就是代码了。 package xuzhe;

import java.io.*; import java.sql.*; //java xuzhe.ExcelJDBC public class ExcelJDBC { public static void main(String[] args) throws SQLException{ Connection con = null; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con = DriverManager.getConnection( "jdbc:odbc:ExcelJDBC" ); Statement st = con.createStatement(); ResultSet rs = st.executeQuery( "Select * from [Sheet1$]" ); ResultSetMetaData rsmd = rs.getMetaData(); int numberOfColumns = rsmd.getColumnCount(); System.out.println ("表格列数"+numberOfColumns ); System.out.println( rsmd.getColumnName(1)+ "," + rsmd.getColumnName(2) + "," + rsmd.getColumnName(3)); while (rs.next()) { for (int i = 1; i <= numberOfColumns; i++) { if (i > 1) System.out.print(", "); String columnValue = rs.getString(i); System.out.print(columnValue); } System.out.println(""); } rs.close(); st.close(); } catch(Exception ex) { System.err.print("Exception: "); System.err.println(ex.getMessage()); } finally { con.close(); } } } 执行结果如下:

java文件读写代码

1、按字节读取文件内容 2、按字符读取文件内容 3、按行读取文件内容 4、随机读取文件内容 public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 */ public static void readFileByBytes(String fileName) { File file = new File(fileName); InputStream in = null; try { System.out.println("以字节为单位读取文件内容,一次读一个字节:"); // 一次读一个字节 in = new FileInputStream(file); int tempbyte; while ((tempbyte = in.read()) != -1) { System.out.write(tempbyte); } in.close(); } catch (IOException e) { e.printStackTrace(); return; } try { System.out.println("以字节为单位读取文件内容,一次读多个字节:"); // 一次读多个字节 byte[] tempbytes = new byte[100]; int byteread = 0; in = new FileInputStream(fileName); ReadFromFile.showAvailableBytes(in); // 读入多个字节到字节数组中,byteread为一次读入的字节数 while ((byteread = in.read(tempbytes)) != -1) { System.out.write(tempbytes, 0, byteread); }

协同过滤推荐算法(java原生JDK实现-附源码地址)

协同过滤推荐算法(java原生JDK实现-附源 码地址) 一、项目需求 1.需求链接 https://https://www.doczj.com/doc/3618848300.html,/getStart/information.htm?raceId=231522 2.需求内容 训练数据包含了抽样出来的一定量用户在一个月时间(11.18~12.18)之内的移动端行为数据(D),评分数据是这些用户在这个一个月之后的一天(12.19)

对商品子集(P)的购买数据。参赛者要使用训练数据建立推荐模型,并输出用户在接下来一天对商品子集购买行为的预测结果。 评分数据格式 具体计算公式如下:参赛者完成用户对商品子集的购买预测之后,需要将结果放入指定格式的数据表(非分区表)中,要求结果表名为:tianchi_mobile_recommendation_predict.csv,且以utf-8格式编码;包含user_id 和item_id两列(均为string类型),要求去除重复。例如: 评估指标 比赛采用经典的精确度(precision)、召回率(recall)和F1值作为评估指标。具体计算公式如下: 其中PredictionSet为算法预测的购买数据集合,ReferenceSet为真实的答案购买数据集合。我们以F1值作为最终的唯一评测标准。 二、协同过滤推荐算法原理及实现流程 1.基于用户的协同过滤推荐算法 基于用户的协同过滤推荐算法通过寻找与目标用户具有相似评分的邻居用户,通过查找邻居用户喜欢的项目,推测目标用户也具有相同的喜好。基于用户的协同过滤推荐算法基本思想是:根据用户-项目评分矩阵查找当前用户的最近邻居,利用最近邻居的评分来预测当前用户对项目的预测值,将评分最高的N 个项目推荐给用户,其中的项目可理解为系统处理的商品。其算法流程图如下图1所示。

Java流(文件读写操作)

Java流 一、流的分类 ?按数据流动方向 –输入流:只能从中读取字节数据,而不能向其写出数据 –输出流:只能向其写入字节数据,而不能从中读取数据?按照流所处理的数据类型 –字节流:用于处理字节数据。 –字符流:用于处理Unicode字符数据。 ?按照流所处理的源 –节点流:从/向一个特定的IO设备读/写数据的流。(低级流)–处理流:对已存在的流进行连接和封装的流。(高级流)二、缓冲流 ?缓冲流要“套接”在相应的节点流之上,对读写的数据提供了缓冲的功能,提高了读写的效率,同时增加了一些新的方法。 ?J2SDK提供了四种缓存流: –BufferedReader –BufferedWriter –BufferedInputStream s –BufferedOutputStream

?缓冲输入流支持其父类的mark()和reset()方法: –mark()用于“标记”当前位置,就像加入了一个书签,可以使用reset()方法返回这个标记重新读取数据。?BufferedReader提供了readLine()方法用于读取一行字符串(以\r 或\n分隔)。 ?BufferedWriter提供了newLine()用于写入一个行分隔符。 ?对于输出的缓冲流,写出的数据会先在内存中缓存,使用flush()方法将会使内存中的数据立刻写出。 三、类层次 3.1、InputStream类层次

3.2、OutputStream类层次 3.3、Reader类层次

3.4、Writer类层次 四、常用的字符流与字节流的转化 说明: 1.字节流用于读写诸如图像数据之类的原始字节流。 2.字符流用于读写诸如文件数据之类的字符流。 3.低级流能和外设交流。 4.高级流能提高效率。 5.InputStreamReader 是字节流通向字符流的桥梁。 6.OutputStreamWriter 是字符流通向字节流的桥梁。

java实现图论中的经典算法

1.最短路的笛杰斯特拉算法 /** * * @author Administrator */ //这个算法用来解决无向图中任意两点的最短路径,同时输出路径(起点到所有点的) public class MinPath { public static String dijkstra(int[][] W1, int start, int end) { System.out.println("起点:" + start + "终点:" + end); boolean[] isLabel = new boolean[W1[0].length];// 是否标号 int[] indexs = new int[W1[0].length];// 所有标号的点的下标集合,以标号的先后顺序进行存储,实际上是一个以数组表示的栈 int i_count = -1;// 栈的顶点 int[] distance = W1[start].clone();// v0到各点的最短距离的初始值 int index = start;// 从初始点开始 int presentShortest = 0;// 当前临时最短距离 indexs[++i_count] = index;// 把已经标号的下标存入下标集中 isLabel[index] = true; while (i_count < W1[0].length) { // 第一步:得到与原点最近的某个点 int min = Integer.MAX_V ALUE; for (int i = 0; i < distance.length; i++) { if (!isLabel[i] && distance[i] != -1 && i != index) { // 如果到这个点有边,并且没有被标号 if (distance[i] < min) { min = distance[i]; index = i;// 把下标改为当前下标 } } } i_count = i_count + 1; if (i_count == W1[0].length) { break; } isLabel[index] = true;// 对点进行标号 indexs[i_count] = index;// 把已经标号的下标存入下标集中 if (W1[indexs[i_count - 1]][index] == -1 || presentShortest + W1[indexs[i_count - 1]][index] > distance[index]) { // 如果两个点没有直接相连,或者两个点的路径大于最短路径 presentShortest = distance[index]; } else { presentShortest += W1[indexs[i_count - 1]][index];

java File文件操作和文件流的详解(福哥出品)

一. 创建文件 (1)最常用的(获得一个固定路径下的文件对象) File parentFile = new File(“D:\\My Documents\\.....”);//参数是一个路径的字符串。 (2)在父目录创建一个名为child的文件对象,child 为文件对象的名字 File chileFile= new File(“D:\\My Documents\\.....”,String child); 或File chileFile= new File(parentFile,String child); 二,常见文件夹属性和方法 (1)createNewFile(); 该方法的作用是创建指定的文件。该方法只能用于创建文件,不能用于创建文 件夹,且文件路径中包含的文件夹必须存在 File file=new ("D:\\My Document\\text.txt"); file.createNewFile(); 这样就会在D盘下的My Document 创建text.txt的记事本(注意:首先得保 证D盘下有My Documen这个文件夹) (2)mkdir(); 根据File对象的名字(路径)创建一个目录(文件夹),如果是相对目录,则新建的目

录在当前目录下 (3)mkdirs(); 如果File对象名字有多级目录,则可以调用该方法一次性创建多级目录。 (4)exists(); 判断File对象指向的文件是否存在,返回一个boolean类型(5)isDirectory(); 判断File对象指向的文件是否为目录,返回一个boolean类型的值,true或者false。 (6)getName();获得文件名称(不带路径) (7)length(); 得到File对象指向文件的长度,以字节计算,返回一个长整形的值(long);注意:在 系统中,文件夹(目录)的大小为零,也就是不占用空间,使用length()时返回的是0 (8)delete(); 删除File对象所指定的文件 (9)isFile(); 判断File对象指向的文件是不是标准文件(就像图片,音乐文件等) 三,文件的属性和方法 1.File.separator 当前操作系统的名称分隔符,等于字符串“\”.

JAVA经典算法

河内塔问题(Towers of Hanoi) 问题说明: 河內之塔(Towers of Hanoi)是法国人M.Claus(Lucas)於1883年从泰国带至法国的,河內为越战时北越的首都,即现在的胡志明市;1883年法国数学家 Edouard Lucas曾提及這个故事,据说创世紀时Benares有一座波罗教塔,是由三支钻石棒(Pag)所支撑,开始时神在第一根棒上放置64个由上至下依由小至大排列的金盘(Disc),並命令僧侣将所有的金盘从第一根石棒移至第三根石棒,且搬运过程中遵守大盘子在小盘子之下的原则,若每日仅搬一个盘子,则当盘子全数搬运完毕之时,此塔将损毁,而也就是世界末日來临之时。 算法代码(Java): 复制内容到剪贴板 import java.io.*; public class Hanoi { public static void main(String args[]) throws IOException { int n; BufferedReader buf; buf = new BufferedReader(new InputStreamReader(System.in)); System.out.print("请输入盘子个数"); n = Integer.parseInt(buf.readLine()); Hanoi hanoi = new Hanoi(); hanoi.move(n, 'A', 'B', 'C'); } public void move(int n, char a, char b, char c) { if(n == 1) System.out.println("盘 " + n + " 由 " + a + " 移至 " + c); else { move(n - 1, a, c, b); System.out.println("盘 " + n + " 由 " + a + " 移至 " + c); move(n - 1, b, a, c);

java将对象保存到文件中从文件中读取对象

1.保存对象到文件中 Java语言只能将实现了Serializable接口的类的对象保存到文件中,利用如下方法即可: public static void writeObjectToFile(Object obj) { File file =new File("test.dat"); FileOutputStream out; try { out = new FileOutputStream(file); ObjectOutputStream objOut=new ObjectOutputStream(out); objOut.writeObject(obj); objOut.flush(); objOut.close(); System.out.println("write object success!"); } catch (IOException e) { System.out.println("write object failed"); e.printStackTrace(); } } 参数obj一定要实现Serializable接口,否则会抛出 java.io.NotSerializableException异常。另外,如果写入的对象是一个容器,例如List、Map,也要保证容器中的每个元素也都是实现了Serializable 接口。例如,如果按照如下方法声明一个Hashmap,并调用writeObjectToFile方法就会抛出异常。但是如果是 Hashmap就不会出问题,因为String类已经实现了Serializable接口。另外如果是自己创建的类,如果继承的基类没有实现Serializable,那么该类需要实现Serializable,否则也无法通过这种方法写入到文件中。 Object obj=new Object(); //failed,the object in map does not implement Serializable interface HashMap objMap=new HashMap(); objMap.put("test", obj); writeObjectToFile(objMap);

java程序员必知的十种程序算法

java程序员必学的十种程序算法 算法1:快速排序算法 快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。 快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists)。 算法步骤: 1 从数列中挑出一个元素,称为“基准”(pivot),

2 重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作。 3 递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序。 递归的最底部情形,是数列的大小是零或一,也就是永远都已经被排序好了。虽然一直递归下去,但是这个算法总会退出,因为在每次的迭代(iteration)中,它至少会把一个元素摆到它最后的位置去。 算法2:堆排序算法

堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。 堆排序的平均时间复杂度为Ο(nlogn) 。 算法步骤: 创建一个堆H[0..n-1] 把堆首(最大值)和堆尾互换 3. 把堆的尺寸缩小1,并调用shift_down(0),目的是把新的数组顶端数据调整到相应位置 4. 重复步骤2,直到堆的尺寸为1 算法3:归并排序 归并排序(Merge sort,台湾译作:合并排序)是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 算法步骤:

java输入输出流和文件操作

Java IO流和文件操作Java流操作有关的类或接口: Java流类图结构:

1、File类 File类是对文件系统中文件以及文件夹进行封装的对象,可以通过对象的思想来操作文件和文件夹。 File类保存文件或目录的各种元数据信息,包括文件名、文件长度、最后修改时间、是否可读、获取当前文件的路径名,判断指定文件是否存在、获得当前目录中的文件列表,创建、删除文件和目录等方法。 构造方法摘要 File(File parent, String child) File(String pathname) File(String parent, String child) 构造函数 创建方法 1.boolean createNewFile() 不存在返回true 存在返回false 2.boolean mkdir() 创建目录 3.boolean mkdirs() 创建多级目录 删除方法 1.boolean delete() 2.boolean deleteOnExit() 文件使用完成后删除 例子1:列出指定文件夹的文件或文件夹 public class FileDemo1 { public static void main(String[] args){ File[] files =File.listRoots(); for(File file:files){

System.out.println(file); if(file.length()>0){ String[] filenames =file.list(); for(String filename:filenames){ System.out.println(filename); } } } } } 例子2:文件过滤 import java.io.File; public class FileTest2 { public static void main(String[] args) { File file = new File("file"); String[] names = file.list(); for(String name : names) { if(name.endsWith(".java")) { System.out.println(name); }

JAVA经典算法40题

JAVA经典算法40题 【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.... public class exp2{ public static void main(String args[]){ int i=0; for(i=1;i<=20;i++) System.out.println(f(i)); } public static int f(int x) { if(x==1 || x==2) return 1; else return f(x-1)+f(x-2); } } 或 public class exp2{ public static void main(String args[]){ int i=0; math mymath = new math(); for(i=1;i<=20;i++) System.out.println(mymath.f(i)); } } class math { public int f(int x) { if(x==1 || x==2) return 1; else return f(x-1)+f(x-2); } } 【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 public class exp2{ public static void main(String args[]){ int i=0; math mymath = new math(); for(i=2;i<=200;i++)

java读入文本文件到TextArea(打开功能实现)

java读入文本文件到TextArea(打开功能实现) Java语言: import java.awt.*; import java.io.*; import java.awt.event.*; public class IOtest extends Frame implements ActionListener{ private Frame f; private TextArea ta; //ta用于显示打开的内容 private Button btn; private FileDialog fd; private File file1 = null; //构造函数开始 public IOtest(){ btn = new Button("打开"); ta = new TextArea(5,50); btn.addActionListener(this);//给按钮添加事件监听器 } //给按钮添加行为 public void actionPerformed(ActionEvent e){ if (e.getSource()==btn) { //单击打开按钮时 fd = new FileDialog(f,"Open",FileDialog.LOAD); fd.setVisible(true); //创建并显示打开文件对话框 //if ((fd.getDirectory()!=null) && (fd.getFile()!=null)) { try { //以缓冲区方式读取文件内容 file1 = new File(fd.getDirectory(),fd.getFile()); FileReader fr = new FileReader(file1); BufferedReader br = new BufferedReader(fr); String aline; while ((aline=br.readLine()) != null)//按行读取文本 ta.append(aline+"\r\n"); fr.close(); br.close(); } catch (IOException ioe){ System.out.println(ioe); } }

相关主题
文本预览
相关文档 最新文档