一、使用步骤
1.引入库
代码如下 :
import java.util.ArrayList;
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String nextLine = scanner.nextLine();
Integer scoreRet = getScoreRet(nextLine);
System.out.println(scoreRet);
}
public static Integer getScoreRet(String srcScoreArrStr){
if (srcScoreArrStr==null){
return -1;
}
if (srcScoreArrStr.isEmpty()){
return -1;
}
String trimSrcScoreTempArrStr = srcScoreArrStr.trim();
String[] splitSrcScoreTempArrStr = trimSrcScoreTempArrStr.split("\\s");
int length = splitSrcScoreTempArrStr.length;
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < length; i++) {
String scoreStrTemp = splitSrcScoreTempArrStr[i];
stringBuilder.append(scoreStrTemp);
}
String srcScoreArr = stringBuilder.toString();
int srcScoreArrLen=srcScoreArr.length();
for (int i = 0; i < srcScoreArrLen; i++) {
char charAt = srcScoreArr.charAt(i);
if (Character.isDigit(charAt)){
continue;
}else if (charAt=='+'){
continue;
}else if (charAt=='C'){
continue;
}else if (charAt=='D'){
continue;
}else{
return -1;
}
}
if (srcScoreArrLen>1000 || srcScoreArrLen<1){
return -1;
}
int multiPlyFac=10;
for (int i = 0; i < 4; i++) {
multiPlyFac*=10;
}
int lowDeadLineNum=-3;
lowDeadLineNum*=multiPlyFac;
int highRestricNum=3;
highRestricNum*=multiPlyFac;
for (int i = 0; i < srcScoreArrLen; i++) {
char charAt = srcScoreArr.charAt(i);
Integer integerScore = Integer.valueOf(charAt);
if (Character.isDigit(integerScore)){
if (integerScore<lowDeadLineNum){
return -1;
}
if (integerScore>highRestricNum){
return -1;
}
}
}
if (srcScoreArr.length()==1){
char srcScoreArr1 = srcScoreArr.charAt(0);
if (Character.isDigit(srcScoreArr1)){
return Integer.valueOf(srcScoreArr1);
}
if (srcScoreArr1=='+'){
return -1;
}
}
ArrayList<Integer> integerArrayList = new ArrayList<Integer>();
for (int i = 0; i < srcScoreArrLen; i++) {
char charAt = srcScoreArr.charAt(i);
Integer integerScore=0;
if (Character.isDigit(charAt)) {
integerScore = Integer.valueOf(charAt);
integerArrayList.add(integerScore);
continue;
}else {
char charAt1 = srcScoreArr.charAt(0);
if (charAt1=='+'){
integerScore=-1;
integerArrayList.add(integerScore);
continue;
}else {
if (charAt=='C'){
int indexPre=i-1;
char charAtPre = srcScoreArr.charAt(indexPre);
Integer integerScoreFactor = Integer.valueOf(charAtPre);
if (Character.isDigit(integerScoreFactor)){
integerArrayList.remove(indexPre);
continue;
}
}
if (charAt=='D'){
int indexPre=i-1;
char charAtPre = srcScoreArr.charAt(indexPre);
if (Character.isDigit(charAtPre)){
if (Character.isDigit(charAtPre)){
Integer integerScoreTemp = Integer.valueOf(charAtPre);
int scoreFactor=integerScoreTemp*2;
integerScore=scoreFactor;
integerArrayList.add(integerScore);
continue;
}
}
}
if (charAt=='+'){
int indexPre=i-1;
char charAtPre= srcScoreArr.charAt(indexPre);
if (Character.isDigit(charAtPre)){
char charAtCurr = srcScoreArr.charAt(i);
Integer integerScoreCurr = Integer.valueOf(charAtCurr);
Integer integerScoreTemp = Integer.valueOf(charAtPre);
int scoreFactor=integerScoreCurr+integerScoreTemp;
integerArrayList.add(scoreFactor);
continue;
}
}
}
}
}
int scoreRet=0;
for (Integer integer : integerArrayList) {
scoreRet+=integer;
}
return scoreRet;
}
}
2.读入数据
代码如下 :
data = pd.read_csv(
'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())
该处使用的url网络请求的数据。
版权声明:本文为wanzhong_liao原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。