Java 如何使用拆分短信的输出
如何从拆分中捕获输出并将其用作操作或与数据库中的数据进行比较Java 如何使用拆分短信的输出,java,netbeans,sms,sms-gateway,Java,Netbeans,Sms,Sms Gateway,如何从拆分中捕获输出并将其用作操作或与数据库中的数据进行比较 String myString = (msg.getText()); String[] a = myString.split("\\*"); for (String b : a) System.out.println(b); String [] message_parts = message.split("#"); // check format String pay = message_parts[0]; Strin
String myString = (msg.getText());
String[] a = myString.split("\\*");
for (String b : a)
System.out.println(b);
String [] message_parts = message.split("#");
// check format
String pay = message_parts[0];
String merchant = message_parts[1];
String amount_string = message_parts[2];
输出为:
pay
merchant
amount
如果要使用pay as action and amount来增加数据库中商户的金额,则需要定义如何将输入转换为数据库中的操作的规则。要开始,您可以为每个规则编写类似以下的
if
语句:
String myString = (msg.getText());
String[] a = myString.split("\\*");
for (String b : a)
System.out.println(b);
String [] message_parts = message.split("#");
// check format
String pay = message_parts[0];
String merchant = message_parts[1];
String amount_string = message_parts[2];
if (a.length == 3 && a[0] == "pay" && a[1] == "merchant")
{
double amount = Double.parseDouble(a[2]);
// connect to database and add amount to the merchant
// UPDATE [AmountTable] SET [Amount] = [Amount] + ?
// WHERE [Type] = 'Merchant' (or whatever the logic is)
}
问题本身不反映问题标题,你想考虑改变问题标题或关闭这个问题,因为以前的评论者已经给你链接你应该读。所以,我想采取的量变量,并与我的数据库中的一个比较。即扣除个人账户金额并添加到商户账户。我怎么能做到呢。plz帮助您是否定义了允许哪些有效输出的规则,以及这些规则如何转化为数据库上的操作?不知道如何实现这些规则。让你困惑的是,举个例子,我想取amount变量,并与数据库中的变量进行比较。即扣除个人账户金额并添加到商户账户。我怎么能做到呢。plz帮助最简单的事情是使用JDBC连接到数据库,以便可以运行SQL查询。要从个人帐户金额中扣除的SQL查询如下所示:
update personal\u account\u table set balance=balance-amount where person\u id=“p0003”
对于商户:update merchant\u account\u table set balance=balance+amount where merchant\u id=“m0007”
(假设表存在并且有varchar id字段)。如果您想做额外的工作(如果您不理解,则不需要),那么在一个JDBC事务中包含这两条SQL语句,以便以原子方式完成。您可能需要另一条SQL语句来检查此人的余额>=金额(如果您正在进行交易,还应将其包括在同一交易中).因此,使用此查询将从拆分的消息中获取可变金额否。请先分别执行每个部分,我可以帮助您整合它们。第一部分是提取答案中的金额。第二部分是更新数据库--您应该为更新数据库问一个单独的问题,但我已经给出了答案n你知道第二部分的大部分答案。现在,你必须编写一些有效的代码,我可以帮助你改进它。它说double不能被推迟,“double amount=double.parseDouble(a[2]);”啊。对不起,我想我对C太熟悉了:)现在应该是固定的。好的,所以该方法现在将金额传递到double。实际上,文本的形式是…pay*merchant*2000.00,好的,您知道split
方法;我给了您一个如何处理输入结果的示例;您是否缺少用Java实现业务需求的知识?我们不会ng为您编写代码。如果您拥有所需的所有部分,则由您将它们组合在一起并实施解决方案。好的,谢谢,我是一名正在做项目的学生。我是java新手,一直在做c这是wy我一直在问