为什么他NND我写什么鸟程序都写不对?运气好的调试个一两天才能发现问题,运气不好根本就无从下手,每次出现的问题其实都很简单,比如“==”写成“=”诸如此类,大神肯定说要多练,可是这种速度根本就没法多练,你想想一个星期做出一个ToyProgramme,怎么能多练呢?问题到底出到哪里呢?大神你们是怎么训练的求教?另附菜鸟的天真程序,但那时总的不懂满意结果——求字符串是否对称的:
public class duichentest{
public static void main(String args[]){
int p = 0;
String subargs[] = new String [args.length];
for(int i=0; i<args.length; i++){
subargs[i] = args[args.length - i - 1];
}

for(int i=0; i<args.length; i++){
if(subargs[i] == args[i]){
p++;
}
}
if(p == args.length){
System.out.println("该字符串是回环字符串");
}
if(p != args.length){
System.out.println("该字符串不是回环字符串");
}
} }

解决方案 »

  1.   

    public void test(){
    Scanner scanner = new Scanner(System.in);
    System.out.println("Type in a string please.");
    String input = scanner.nextLine();
    judge(input);
    }

    public void judge(String temp){
    int middle = (int) Math.floor(temp.length()/2);//取中间数
    int count = 0;//进行计数,判断是否完全一致.
    for (int i = 0; i < middle; i++) {
    if (temp.charAt(i) == temp.charAt(temp.length()-i-1)) {
    count++;
    }
    }
    if (count == middle) {
    System.out.println("It's a circle string");
    }else {
    System.out.println("It's not a circle string");
    }
    }这是我刚才写的判断回环字符串的方法。
    与君共勉。
      

  2.   

    尽量保持良好的习惯,万事开头难。话说楼主我怎么觉得你的程序不太对?
    1、把String args[]当作字符数组来用?
    2、字符串没用equals做比较“if(subargs[i] == args[i])”?
      

  3.   

    对了,如果你使用Eclipse的话,把CheckStyle和FindBugs插件装上,然后消灭所有警告信息,对于纠正不良习惯有奇迹般的效果。
      

  4.   

    我很早之前写的回文字符串匹配方法 public static boolean checkPlalindrome(String string){
    return (string == null || string.equals("")) ? false :
    new StringBuilder(string).reverse().toString().equals(string);
    }
    PS:下次贴好代码,看得头疼
      

  5.   

    俺也赶场来一个import java.util.Scanner;public class PlalindromeTest { public static boolean checkPlalindrome(String str) {
    if(null == str || "".equals(str))
    return false;
    int i = 0, j = str.length()-1;
    for (; i <= j; i++, j--) {
    if (str.charAt(i) != str.charAt(j))
    break;
    }
    if (i >= j)
    return true;
    return false;
    } public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    System.out.println("Type in a string please:");
    String input = scanner.nextLine();
    boolean flag = checkPlalindrome(input);
    if(flag)
    System.out.println("It's a palindrome string");
    else
     System.out.println("It's not a palindrome string");
    }
    }
      

  6.   

    谢谢,我发现只要把==改成equals就可以啦,嘻嘻~