avatar
人民的名义的隐喻# TVChinese - 中文电视
Z*4
1
bool isMatch(char *str, const char* pattern) {
while (*pattern)
if (*str++ != *pattern++)
return false;
return true;
}
以上是C code 判断str里面是不是存在pattern
如果改成java的话
private static boolean isMatch (char[] str,char[] pattern)
{
int i=0;
while(i{
if(str[i]!=pattern[i])
return false;
i++;
}
return true;
}
是不是只能这样啊?java不能用指针嘛?还有我只能用ichar数组作为参数 这样很不方便啊 我试了pattern.charAt(i)!=0作为条件 不行。。。
如果真不能用指针的话 怎么实现string matching时候C里面的两个指针同时滑动的效
果啊。。。
avatar
L*c
2
赵家人: 老江
连城: 嘉宝
达康: 西来
玉琴: 小琳
玉良: 庆洪
同伟: 才厚/伯雄
欢迎补充
avatar
Z*4
3
感觉做字符串的处理C优势很大啊~
avatar
I*s
4
高小琴那句能力以外的为零,完全就是李小琳的原话吧。
再加一个,沙瑞金就是习胖子系列的官二代
avatar
R*i
5
public static boolean isMatch(char[] str, char[] pattern){
int i=0;
int matched=0;

while(iif (str[i++]==pattern[matched])
matched++;
else
matched=0;
if (matched == pattern.length)
return true;
}
return false;
}
avatar
g*s
6
问题是如果一不小心,c的code就让系统crash了。java不会。
所以各有优势

【在 Z**********4 的大作中提到】
: bool isMatch(char *str, const char* pattern) {
: while (*pattern)
: if (*str++ != *pattern++)
: return false;
: return true;
: }
: 以上是C code 判断str里面是不是存在pattern
: 如果改成java的话
: private static boolean isMatch (char[] str,char[] pattern)
: {

avatar
Z*4
7
如果我只想比较str数组里面从3开始有没有跟pattern一样的怎么弄比较方便?
反正不能用 isMatch(str[3],pattern)
哎。。要是C就可以因为str[3]可以看做是一个指针

【在 R***i 的大作中提到】
: public static boolean isMatch(char[] str, char[] pattern){
: int i=0;
: int matched=0;
:
: while(i: if (str[i++]==pattern[matched])
: matched++;
: else
: matched=0;
: if (matched == pattern.length)

avatar
Z*4
8
恩。。有道理
但是没有指针处理起来string的确很麻烦 大家一般怎么弄的?
函数里面多弄几个参数?

【在 g***s 的大作中提到】
: 问题是如果一不小心,c的code就让系统crash了。java不会。
: 所以各有优势

avatar
R*i
9
那就只能把starting position passing as parameter了
public static boolean isMatch(char[] str, char[] pattern, int start){
int i=start;
int matched=0;

while(iif (str[i++]==pattern[matched])
matched++;
else
matched=0;
if (matched == pattern.length)
return true;
}
return false;
}

【在 Z**********4 的大作中提到】
: 如果我只想比较str数组里面从3开始有没有跟pattern一样的怎么弄比较方便?
: 反正不能用 isMatch(str[3],pattern)
: 哎。。要是C就可以因为str[3]可以看做是一个指针

avatar
Z*4
10
恩。。所以才说这个好麻烦~

【在 R***i 的大作中提到】
: 那就只能把starting position passing as parameter了
: public static boolean isMatch(char[] str, char[] pattern, int start){
: int i=start;
: int matched=0;
:
: while(i: if (str[i++]==pattern[matched])
: matched++;
: else
: matched=0;

avatar
m*p
11
java has lots of built-in function and u just need to get to know which one
is
use.

【在 Z**********4 的大作中提到】
: bool isMatch(char *str, const char* pattern) {
: while (*pattern)
: if (*str++ != *pattern++)
: return false;
: return true;
: }
: 以上是C code 判断str里面是不是存在pattern
: 如果改成java的话
: private static boolean isMatch (char[] str,char[] pattern)
: {

avatar
B*g
12
不会吧,好虫竟然还没有跳出来?

【在 Z**********4 的大作中提到】
: bool isMatch(char *str, const char* pattern) {
: while (*pattern)
: if (*str++ != *pattern++)
: return false;
: return true;
: }
: 以上是C code 判断str里面是不是存在pattern
: 如果改成java的话
: private static boolean isMatch (char[] str,char[] pattern)
: {

avatar
i*c
13
isMatch("aabc", "ab")?

【在 R***i 的大作中提到】
: public static boolean isMatch(char[] str, char[] pattern){
: int i=0;
: int matched=0;
:
: while(i: if (str[i++]==pattern[matched])
: matched++;
: else
: matched=0;
: if (matched == pattern.length)

avatar
Z*4
14
好虫是什么

【在 B*****g 的大作中提到】
: 不会吧,好虫竟然还没有跳出来?
avatar
B*g
15
java牛牛

【在 Z**********4 的大作中提到】
: 好虫是什么
avatar
h*c
16
http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Stri

【在 Z**********4 的大作中提到】
: bool isMatch(char *str, const char* pattern) {
: while (*pattern)
: if (*str++ != *pattern++)
: return false;
: return true;
: }
: 以上是C code 判断str里面是不是存在pattern
: 如果改成java的话
: private static boolean isMatch (char[] str,char[] pattern)
: {

avatar
s*o
17
seriously, do you know what you are doing with this c code?

【在 Z**********4 的大作中提到】
: bool isMatch(char *str, const char* pattern) {
: while (*pattern)
: if (*str++ != *pattern++)
: return false;
: return true;
: }
: 以上是C code 判断str里面是不是存在pattern
: 如果改成java的话
: private static boolean isMatch (char[] str,char[] pattern)
: {

avatar
x*p
18
用Java处理String其实比C简单的多。LZ的目的好象是看字符串str是否存在字符串
pattern,看下面的Java代码
boolean isMatch(char[] str, char[] pattern) {
String theStr = new String(str);
String thePattern = new String(pattern);
return theStr.indexOf(thePattern)>=0;
}
avatar
Z*4
19
神马意思?
难道不是在判断str里面有没有出现pattern么?

【在 s***o 的大作中提到】
: seriously, do you know what you are doing with this c code?
avatar
Z*4
20
恩。。的确很简单
我只是想怎么自己写这种函数 呵呵

【在 x*****p 的大作中提到】
: 用Java处理String其实比C简单的多。LZ的目的好象是看字符串str是否存在字符串
: pattern,看下面的Java代码
: boolean isMatch(char[] str, char[] pattern) {
: String theStr = new String(str);
: String thePattern = new String(pattern);
: return theStr.indexOf(thePattern)>=0;
: }

avatar
h*c
21
Java方便的地方不在于指针,不使用API提供的方法编码就相当于在C里面不使用指针来
建立链表一样,即使写出来一个非常高效的链表函数,能有多大的意义呢

【在 Z**********4 的大作中提到】
: 恩。。的确很简单
: 我只是想怎么自己写这种函数 呵呵

avatar
m*n
22
you'll be fired if you don't use String.contains()
hehe

【在 x*****p 的大作中提到】
: 用Java处理String其实比C简单的多。LZ的目的好象是看字符串str是否存在字符串
: pattern,看下面的Java代码
: boolean isMatch(char[] str, char[] pattern) {
: String theStr = new String(str);
: String thePattern = new String(pattern);
: return theStr.indexOf(thePattern)>=0;
: }

avatar
r*y
23
不会, 大把的 projects 还跟 jdk 1.4 hang着

【在 m*****n 的大作中提到】
: you'll be fired if you don't use String.contains()
: hehe

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。