如何将这段C++代码转化成java代码,求大神指导?

boolTCommThread::ReceiveChar(charChar){//Modbus报文的第一个字符应当是':'if(Char!='p'&&__RxBuffer... bool TCommThread::ReceiveChar(char Char)
{
// Modbus报文的第一个字符应当是':'
if(Char != 'p' && __RxBuffer.size() == 0)
return false;

// 将字符写入缓冲
__RxBuffer.push_back(Char);

// 如果收到的字符不是结束符,则退出
if(Char != '!')
{
if(__RxBuffer.size() > 10)
__RxBuffer.clear();
return false;
}

// 收到结束符,对报文加以解析处理
// 首先检查报文格式
if(__RxBuffer.size() != 10)
{
__RxBuffer.clear();
return false;
}

// 解析应答报文
if(__RxBuffer[1] == '1')
__LPosition = CharToWord(__RxBuffer, 3);
else if(__RxBuffer[1] == '2')
__RPosition = CharToWord(__RxBuffer, 3);

Synchronize(Form1->ShowStripPosition);

return true;
}
//------------------------------------------------------------------------------
// CharToHex()
//------------------------------------------------------------------------------
Byte TCommThread::CharToHex(char Char)
{
if(Char >= '0' && Char <= '9')
return Char - '0';
else if(Char >= 'A' && Char <= 'F')
return Char - 'A' + 10;
else if(Char >= 'a' && Char <= 'f')
return Char - 'a' + 10;
else
return 0;
}
//------------------------------------------------------------------------------
// CharToWord()
//------------------------------------------------------------------------------
Word TCommThread::CharToWord(vector<Byte> &Buffer, unsigned int Begin)
{
return (CharToHex(Buffer[Begin]) << 12) |
(CharToHex(Buffer[Begin + 1]) << 8) |
(CharToHex(Buffer[Begin + 2]) << 4) |
CharToHex(Buffer[Begin + 3]);
}
展开
 我来答
匿名用户
2016-05-15
展开全部
package test;import java.util.Scanner;class Zhuanhuan { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n,i,sum,t; t = sc.nextInt(); while(t>0) { sum=0; n = sc.nextInt(); int[] a=new int[n]; for(i=0; i0) System.out.println(""); t--; } sc.close(); }}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式