网站建设资讯

NEWS

网站建设资讯

java怎么用代码实现 java编写代码

请用java代码实现如下方法

//供参考,代码应该没问题,难点主要是在如何匹配连续字符串,这点有小技巧

专注于为中小企业提供网站设计、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业崇礼免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

public class TestBaiduKnow {

public static void main(String args[]) throws Exception {

String s = "Sdabcdk3abcdabcdgg3abcdabcdabcd55fg";

char[] in = s.toCharArray();

char[] out = "abcd".toCharArray();

int cnt = 0;

cnt = maxfleg(in, out);

System.out.println("出现次数: " + cnt);

}

private static int maxfleg(char[] inputstr, char[] outputstr) {

String s = "";

String s2 = "";

for (int i = 0; i  outputstr.length; i++)

s2 += outputstr[i];

int cnt = 0;

int maxcnt = 0;

for (int i = 0; i  inputstr.length - 4; i++) {

for (int j = i; j  i + 4; j++)

s += inputstr[j];

if (s.equals(s2)) {

cnt += 1;

i += 3;

if (cnt  maxcnt)

maxcnt = cnt;

} else

cnt = 0;

s = "";

}

return maxcnt;

}

}

怎么用java代码实现将文本框输入的内容按照设计的排版格式

import java.awt.Color;

import java.awt.Graphics;

import java.awt.image.BufferedImage;

import java.io.File;

import java.io.IOException;

import java.util.Iterator;

import javax.imageio.IIOImage;

import javax.imageio.ImageIO;

import javax.imageio.ImageWriter;

import javax.imageio.stream.ImageOutputStream;

public class Ttex {

BufferedImage bi = new BufferedImage(300, 200, BufferedImage.TYPE_INT_RGB);

public Ttex(String text) {

Graphics gr = bi.createGraphics();

gr.setColor(Color.white);

gr.fillRect(0, 0, bi.getWidth(), bi.getHeight());

gr.setColor(Color.GRAY);

gr.drawString(text, 10, 10);

}

/**

* 根据地址来保存文件

*

* @param dir

* 文件地址

*/

private void Save(String dir) {

BufferedImage image = bi;

// 得到系统支持的图片写入器

Iterator it = ImageIO.getImageWritersBySuffix("jpg");

ImageWriter iw = null;

if (it.hasNext()) {

try {

ImageOutputStream imgOut = ImageIO

.createImageOutputStream(new File(dir));

iw = (ImageWriter) it.next();

iw.setOutput(imgOut);

IIOImage iioi = new IIOImage(image, null, null);

iw.write(iioi);

imgOut.close();

iw.dispose();

} catch (IOException e1) {

}

}

}

public static void main(String[] args) {

Ttex m = new Ttex("0123456789");

m.Save("D:/1.jpg");

}

}

如何用java 或C语言代码怎么实现如下功能:

要在java中调用c语言的库,需要使用Java提供了JNI。

举例说明

在c语言中定义一个 void sayHello()函数(打印Hello World);然后在Java中调用这个函数显示Hello Word.

现在分别从Java和C语言两部分说明:

1. Java 部分

首先定义一个HelloNative,在其中申明sayHello函数,函数要申明为Native 类型的.如下:

public class HelloNative {

public native void sayHello();

}

编译这个类,生成class文件:

javac HelloWorld.java

利用javah生成需要的h文件

javah HelloNative

生成的 h文件大概如下:

/* DO NOT EDIT THIS FILE - it is machine generated */

#include jni.h

/* Header for class HelloNative */

#ifndef _Included_HelloNative

#define _Included_HelloNative

#ifdef __cplusplus

extern "C" {

#endif

/*

* Class: HelloNative

* Method: sayHello

* Signature: ()V

*/

JNIEXPORT void JNICALL Java_HelloNative_sayHello

(JNIEnv *, jobject);

#ifdef __cplusplus

}

#endif

#endif

可以看一下上面自动生成的程序,程序include了jni.h,这个头文件在 $JAVA_HOME下的include文件夹下. 还可以发现生成的函数名是在之前的函数名前面加上了Java_HelloNative。

2. C语言部分

根据上面生成的h文件编写相应的代码实现,建立一个 HelloNative.cpp用来实现显示Hello World的函数.如下:

#include stdio.h

#include "HelloNative.h"

JNIEXPORT void JNICALL Java_HelloNative_sayHello(JNIEnv *, jobject)

{

printf("Hello World!\n");

}

代码编写完成之后,我们再用gcc编译成库文件,命令如下;

gcc -fPIC -I/usr/lib/jvm/java-7-openjdk-i386/include -I/usr/lib/jvm/java-7-openjdk-i386/include/linux -shared -o libHelloNative.so HelloNative.cpp

这样就会在当前目录下生成一个libHelloNative.so的库文件.这时需要的库已经生成,在C语言下的工作已经完成了.

接下来需要在Java中编写一个程序测试一下.在程序前,需要将我们的库载入进去.载入的方法是调用Java的 System.loadLibrary("HelloNative");

public class TestNative

{

static {

try {

System.loadLibrary("HelloNative");

}

catch(UnsatisfiedLinkError e) {

System.out.println( "Cannot load hello library:\n " + e.toString() );

}

}

public static void main(String[] args) {

HelloNative test = new HelloNative();

test.sayHello();

}

}

但是再编译后,运行的时候,问题又出现了.

Cannot load hello library:

java.lang.UnsatisfiedLinkError: no HelloNative in java.library.path

Exception in thread "main" java.lang.UnsatisfiedLinkError: HelloNative.sayHello()V

at HelloNative.sayHello(Native Method)

at TestNative.main(TestNative.java:13)

载入库失败,但是库明明就是放在当前文件夹下的,怎么会载入失败呢?

用System.getProperty("java.library.path")查看,发现java.library.path中并不u存在当前的目录.主要有以下的几个解决办法:

1) 将生成的库复制到java.library.path有的路径中去,当然这样不是很好

2) 设置环境变量export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH ,将当前的目录加入到LD_LIBRARY_PATH中

3) 设置java 的选项,将当前的目录加入到其中 .java -Djava.library.path=. $LD_LIBRARY_PATH

这样之后程序就能够成功的运行了.可以看见显示的"Hello World!"了


分享标题:java怎么用代码实现 java编写代码
URL标题:http://njwzjz.com/article/ddjhsdd.html