📄 tools.java
字号:
import java.util.ArrayList;
import java.util.StringTokenizer;
public class Tools
{
public static ArrayList CSV_to_AL(String sentCSV)
{
ArrayList returnAL = new ArrayList();
StringTokenizer st = new StringTokenizer(sentCSV, ",");
while (st.hasMoreTokens())
{
returnAL.add(st.nextToken());
}
returnAL.trimToSize();
return returnAL;
}
// String - General Methods
public static String repeat(String sentString, int repititions)
{
String returnString = "";
for (int i=0; i<repititions; i++)
{
returnString = returnString + sentString;
}
return returnString;
}
public static String replace(String content, String oldString, String newString)
{
if (oldString.equals(newString)) return content;
String returnString = "";
int hitIndex;
String partBefore;
while (content.length() > 0)
{
hitIndex = content.indexOf(oldString);
if (hitIndex == -1)
{
returnString = returnString + content;
content = "";
}
else
{
partBefore = content.substring(0,hitIndex);
returnString = returnString + partBefore + newString;
content = content.substring(hitIndex + oldString.length());
}
}
return returnString;
}
// Conversion Methods
public static int[] convertStringToDatetimeInts(String sentDatetimeAsString)
{
// sentDatetimesAsString required format = YYYY-MM-DD HH:MM:SS
int[] returnArray = new int[7];
int year = -1;
int month = -1;
int day = -1;
int hour = -1;
int minute = -1;
int second = -1;
boolean legalConversion = true;
int[] maxDaysInMonth = {31,28,31,30,31,30,31,31,30,31,30,31};
ArrayList tokens = new ArrayList();
StringTokenizer st = new StringTokenizer(sentDatetimeAsString, "-: ");
while (st.hasMoreTokens())
{
tokens.add(st.nextToken());
}
tokens.trimToSize();
if (tokens.size()==6)
{
for (int i=0; i<tokens.size(); i++)
{
try
{
switch (i)
{
case 0: // year
year = Integer.parseInt((String)tokens.get(i));
returnArray[1] = year;
if (!(year>=1900 && year<=2100)) legalConversion = false;
break;
case 1: // month
month = Integer.parseInt((String)tokens.get(i));
returnArray[2] = month;
if (!(month>=1 && month<=12)) legalConversion = false;
break;
case 2: // day
day = Integer.parseInt((String)tokens.get(i));
returnArray[3] = day;
if (legalConversion)
{
int extraDay = 0;
if (month == 2)
{
if ((year % 4) == 0)
extraDay = 1;
else
extraDay = 0;
}
if (!(day>=1 && day<=maxDaysInMonth[month]+extraDay)) legalConversion = false;
}
break;
case 3: // hour
hour = Integer.parseInt((String)tokens.get(i));
returnArray[4] = hour;
if (!(hour>=0 && hour<=23)) legalConversion = false;
break;
case 4: // minute
minute = Integer.parseInt((String)tokens.get(i));
returnArray[5] = minute;
if (!(minute>=0 && minute<=59)) legalConversion = false;
break;
case 5: // day
second = Integer.parseInt((String)tokens.get(i));
returnArray[6] = second;
if (!(second>=0 && second<=59)) legalConversion = false;
break;
}
}
catch (NumberFormatException e)
{
legalConversion = false;
}
}
}
else
{
legalConversion = false;
}
if (legalConversion)
returnArray[0] = 1;
else
returnArray[0] = 0;
return returnArray;
}
public static int[] convertStringToDateInts(String sentDateAsString)
{
// sentDateAsString required format = YYYY-MM-DD
int[] returnArray = new int[4];
int year = -1;
int month = -1;
int day = -1;
boolean legalConversion = true;
int[] maxDaysInMonth = {31,28,31,30,31,30,31,31,30,31,30,31};
ArrayList tokens = new ArrayList();
StringTokenizer st = new StringTokenizer(sentDateAsString, "-");
while (st.hasMoreTokens())
{
tokens.add(st.nextToken());
}
tokens.trimToSize();
if (tokens.size()==3)
{
for (int i=0; i<tokens.size(); i++)
{
try
{
switch (i)
{
case 0: // year
year = Integer.parseInt((String)tokens.get(i));
returnArray[1] = year;
if (!(year>=1900 && year<=2100)) legalConversion = false;
break;
case 1: // month
month = Integer.parseInt((String)tokens.get(i));
returnArray[2] = month;
if (!(month>=1 && month<=12)) legalConversion = false;
break;
case 2: // day
day = Integer.parseInt((String)tokens.get(i));
returnArray[3] = day;
if (legalConversion)
{
int extraDay = 0;
if (month == 2)
{
if ((year % 4) == 0)
extraDay = 1;
else
extraDay = 0;
}
if (!(day>=1 && day<=maxDaysInMonth[month]+extraDay)) legalConversion = false;
}
break;
}
}
catch (NumberFormatException e)
{
legalConversion = false;
}
}
}
else
{
legalConversion = false;
}
if (legalConversion)
returnArray[0] = 1;
else
returnArray[0] = 0;
return returnArray;
}
public static int[] convertStringToTimeInts(String sentTimeAsString)
{
// sentTimeAsString required format = HH:MM:SS
int[] returnArray = new int[4];
int hour = -1;
int minute = -1;
int second = -1;
boolean legalConversion = true;
ArrayList tokens = new ArrayList();
StringTokenizer st = new StringTokenizer(sentTimeAsString, ":");
while (st.hasMoreTokens())
{
tokens.add(st.nextToken());
}
tokens.trimToSize();
if (tokens.size()==3)
{
for (int i=0; i<tokens.size(); i++)
{
try
{
switch (i)
{
case 0: // hour
hour = Integer.parseInt((String)tokens.get(i));
returnArray[1] = hour;
if (!(hour>=0 && hour<=23)) legalConversion = false;
break;
case 1: // minute
minute = Integer.parseInt((String)tokens.get(i));
returnArray[2] = minute;
if (!(minute>=0 && minute<=59)) legalConversion = false;
break;
case 2: // day
second = Integer.parseInt((String)tokens.get(i));
returnArray[3] = second;
if (!(second>=0 && second<=59)) legalConversion = false;
break;
}
}
catch (NumberFormatException e)
{
legalConversion = false;
}
}
}
else
{
legalConversion = false;
}
if (legalConversion)
returnArray[0] = 1;
else
returnArray[0] = 0;
return returnArray;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -