mytuo Posted March 17, 2019 Posted March 17, 2019 (edited) Hi guys, I have a code snippet here: String str = msgCont.toString(); String[] strs = str.split("\n"); if (strs[2].startsWith("partofthemessage") && strs[2].contains("x")) { Main.handleDonation("y", strs[2].split("\\)")[0].split("\\(")[1], str.split("xx: ")[1].substring(0, 17), (int)Double.parseDouble(strs[2].substring(57, strs[2].indexOf(" x")))); "); Will someone care to explain if : String[] strs = str.split("\n"); if (strs[2] means the second string of the msg content? Thanks! Edited March 17, 2019 by mytuo Quote
0 DEV|Supreme Posted March 17, 2019 Posted March 17, 2019 http://lmgtfy.com/?q=How+do+we+split+strings+in+java Quote
0 melron Posted March 17, 2019 Posted March 17, 2019 The first element of an array is accessible by the value 0. The 2nd element has the position 1.. the 3rd element 2.... array[0] = first element ... array[2] = 3rd element. The code is hardcoded. Rework it Quote
0 Kara Posted March 17, 2019 Posted March 17, 2019 10 minutes ago, melron said: The first element of an array is accessible by the value 0. The 2nd element has the position 1.. the 3rd element 2.... array[0] = first element ... array[2] = 3rd element. The code is hardcoded. Rework it The guy don't even know how to post a code using tag and u tell him something only people with months of knowledge will understand and then to rework it. I would post a clap clap gif but no worth it. Write him down about volatiles too. Quote
0 melron Posted March 17, 2019 Posted March 17, 2019 19 minutes ago, Kara` said: The guy don't even know how to post a code using tag and u tell him something only people with months of knowledge will understand and then to rework it. I would post a clap clap gif but no worth it. Write him down about volatiles too. I could just say array[2] = 3rd element. But I preferred to explain it a bit.. Maybe that guy, one day will be better than us :D Quote
0 Kara Posted March 17, 2019 Posted March 17, 2019 1 minute ago, melron said: I could just say array[2] = 3rd element. But I preferred to explain it a bit.. Maybe that guy, one day will be better than us :D We will both dead till that day. Or even worst. You will be father with 3 kids who laugh at your coding and a wife who says STOP using the damn computer and help me do laundry U FUCK! Or u can end up like tryskell. No girlfriend, 1 friend who visit you every 3 months from California and you sit with him for 2 hours to eat french croisons and a freemium girlfriend (If you know what i mean ) Quote
0 mytuo Posted March 18, 2019 Author Posted March 18, 2019 (edited) I appreciate all the attention guys :) Honestly I'm new to Java, that's true and I'm trying to debug the automatic donation system from l2 packs like ava mythras etc. The project is totally local, no publishing, no selling, just wanna get it done. I got to tweaking the source java to : public static void decode(Message msg) throws Exception { Object msgCont = msg.getContent(); String from = msg.getFrom()[0].toString(); String str = msgCont.toString(); String[] strs = str.split("\n"); if (strs[2].startsWith("This email confirms that you have received a donation of") && strs[2].contains("EUR")) { Main.handleDonation("Paypal", strs[2].split("\\)")[0].split("\\(")[1], str.split("Confirmation number: ")[1].substring(0, 17), (int)Double.parseDouble(strs[2].substring(57, strs[2].indexOf(" EUR")))); return; } System.out.println("[FATAL] Corrupted donation from:\n->" + from + " (Please check this eMail)"); } However I still get the exception about the corrupted donation. The system goes into my mailbox, reads the mail but it doesn't decode it correctly. The e-mails come in like this : and my understanding is that the 3rd line is exactly what it should be. The function does not even go to Main.handleDonation, it dies at if (strs[2].startsWith, so it must not recognize the text correctly I'm struggling alone on this for 2 days now. Thanks again to people wanting to help :) :D Edited March 18, 2019 by mytuo Quote
0 Tryskell Posted March 19, 2019 Posted March 19, 2019 (edited) String#split generates an array of String based on the pattern you put as parameter, in your case \n, which is the symbol of new line. An array starts at 0, so a 100 size array goes from 0 to 99, getting the 100th, 101th, etc element would end into IOOBE (index out of bounds exception). To debug such crappy stuff, the easiest is to log each cut element and see if it's supposed to be cut that way. Use System.out.println(Arrays.toString(strs)); To see how your tokens are generated, if they are correctly formed, etc. You can also put logs into handleDonation to see what the transformed Strings are. @Kara` I got a gf, and I visit my friends (14y of friendship for the oldest) every month for some roleplaying session (I'm the DM). Edited March 19, 2019 by Tryskell Quote
0 Kara Posted March 19, 2019 Posted March 19, 2019 9 minutes ago, Tryskell said: String#split generates an array of String based on the pattern you put as parameter, in your case \n, which is the symbol of new line. An array starts at 0, so a 100 size array goes from 0 to 99, getting the 100th, 101th, etc element would end into IOOBE (index out of bounds exception). To debug such crappy stuff, the easiest is to log each cut element and see if it's supposed to be cut that way. Use System.out.println(Arrays.toString(strs)); To see how your tokens are generated, if they are correctly formed, etc. You can also put logs into handleDonation to see what the transformed Strings are. @Kara` I got a gf, and I visit my friends (14y of friendship for the oldest) every month for some roleplaying session (I'm the DM). Plz tell me SweeTs is dressed like anime girl and i quit maxc forever. Quote
0 wongerlt Posted March 19, 2019 Posted March 19, 2019 firstly what point? paypal have simple api, why u not use it? Quote
0 DenArt Designs Posted March 19, 2019 Posted March 19, 2019 On 3/18/2019 at 3:56 AM, mytuo said: Honestly I'm new to Java, The system goes into my mailbox, reads the mail but it doesn't decode it correctly. :D Paypal prvovides IPN (instant payment notification) when a payment is done paypal notifies a given link with the payment details, after that you validate and proceed to save the information into database, then you handle how you will distribute it into your java code read (SELECT FROM etc...) and then reward. Quote
Question
mytuo
Hi guys,
I have a code snippet here:
String str = msgCont.toString();
String[] strs = str.split("\n");
if (strs[2].startsWith("partofthemessage") && strs[2].contains("x")) {
Main.handleDonation("y", strs[2].split("\\)")[0].split("\\(")[1], str.split("xx: ")[1].substring(0, 17), (int)Double.parseDouble(strs[2].substring(57, strs[2].indexOf(" x"))));
");
Will someone care to explain if :
String[] strs = str.split("\n");
if (strs[2]
means the second string of the msg content?
Thanks!
Edited by mytuo11 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.