cmathz123 2008-11-11 22:30
浏览 627
已采纳

大家帮我找一下问题所在???Syntax error, insert ";" to complete

package com.jsp.javabean;

import java.io.IOException;

public class CRC16Checker {
private static int[] index = new int[] { 16, 15, 2, 0 };
private static int[] getBinary(String text)
{
StringBuffer num = new StringBuffer();
String s;
char ch;
for (int i = 0; i < text.length(); i++)

    { // Change each char to
        s = Integer.toBinaryString(text.charAt(i));                                     // binary code.


        for (int j = 8 - s.length(); j > 0; j--) 
            num.append(0);
        num.append(s);
    }
    int len = num.length();
    int[] code = new int[len];
    for (int i = 0; i < len; i++) // Change each 0/1 char to int.
        code[i] = Character.getNumericValue(num.charAt(i));
    return code;

   }

private static String toHex(int[] num) 
{
    StringBuffer hex = new StringBuffer(num.length / 4);
    char[] ch = new char[4];
    for (int i = 0; i < num.length;) 
    {

        ch[0] = Character.forDigit(num[i++], 2);
        ch[1] = Character.forDigit(num[i++], 2);
        ch[2] = Character.forDigit(num[i++], 2);
        ch[3] = Character.forDigit(num[i++], 2);

        hex.append(Integer.toHexString(Integer.parseInt(String.valueOf(ch), 2)));
    }
    return hex.toString();

  }

// CRC codes main process
public static int[] makeCRCCodes(int[] sourceCodes, int[] multinomial) {

    // CRC码数组总长为原码长加上校验码码长。数组前部存放原码。校验码存放在数组
    // 最后的N位。校验码长度决定于生成多项式数组0位置上的元素。
        int sourceLength = sourceCodes.length;
        int codesLength = sourceLength + multinomial[0];
        int[] crcCodes = new int[codesLength];
        // 拷贝原码。
        System.arraycopy(sourceCodes, 0, crcCodes, 0, sourceLength);
        int temp, pos;
        // 除法器。
        for (int i = 0; i < sourceLength; i++) {

            // 用第i位原码和第一个寄存器值模二加。
            temp = (crcCodes[sourceLength] + sourceCodes[i]) % 2;// /没有用crcCodes[sourceLength]
                                                    // = 0

            // 第二个寄存器及以后的所有寄存器值前移1位。
            System.arraycopy(crcCodes, sourceLength + 1, crcCodes, sourceLength, multinomial[0] - 1);

            // 最后一个寄存器值存放计算好的输入值。
            crcCodes[codesLength - 1] = temp;
            // 按生成多项式的值算出位置,模二加出该寄存器的值。
            for (int j = index.length - 2; j > 0; j--) {
                pos = codesLength - multinomial[j] - 1;
                crcCodes[pos] = (crcCodes[pos] + temp) % 2;
            }
        }
        return crcCodes;

     }

public static void main(String[] args) throws IOException {
    System.out.print("Input hex data :");
    StringBuffer buf = new StringBuffer();
    char ch = (char) System.in.read();
    while (ch != '\n' /*&& ch != ''*/) {
        buf.append(ch);
        ch = (char) System.in.read();
    }

    int[] b = CRC16Checker.getBinary(buf.toString());

    b = CRC16Checker.makeCRCCodes(b, CRC16Checker.index);

    for (int i = 0; i < b.length;) {
        for (int j = 0; j < 4; j++, i++) System.out.print(b[i]);
        System.out.print(' ');
    }
    System.out.println();

    System.out.println("The CRC16 code is :" + CRC16Checker.toHex(b));

    }
}

Severity and Description Path Resource Location Creation Time Id
Syntax error, insert ";" to complete ReturnStatement Test/src/com/jsp/javabean CRC16Checker.java line 26 1226413351765 846
Severity and Description Path Resource Location Creation Time Id
Syntax error, insert ";" to complete ReturnStatement Test/src/com/jsp/javabean CRC16Checker.java line 43 1226413351765 847
Severity and Description Path Resource Location Creation Time Id
Syntax error, insert ";" to complete ReturnStatement Test/src/com/jsp/javabean CRC16Checker.java line 75 1226413351765 848
Severity and Description Path Resource Location Creation Time Id
Syntax error, insert ";" to complete Statement Test/src/com/jsp/javabean CRC16Checker.java line 97 1226413351765 849

  • 写回答

3条回答 默认 最新

  • soartju 2008-11-11 22:36
    关注

    没发现有问题,格式化一下,吧多余的空字符串去了就没有问题了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 QT6颜色选择对话框显示不完整
  • ¥20 能提供一下思路或者代码吗
  • ¥15 用twincat控制!
  • ¥15 请问一下这个运行结果是怎么来的
  • ¥15 单通道放大电路的工作原理
  • ¥30 YOLO检测微调结果p为1
  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下