educoder(头歌)平台Java实训作业答案
Posted 见面吃火锅
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了educoder(头歌)平台Java实训作业答案相关的知识,希望对你有一定的参考价值。
头歌educoder实训java
- 1-1 Java入门 - Java入门基础
- 1-2 Java入门 - 变量与数据类型
- 1-3 Java入门 - 运算符和表达式
- 1-4 Java入门 - 分支结构
- 1-5 Java入门 - 循环结构基础
- 1-6 Java入门 - 循环结构进阶
- 1-7 Java入门-分支与循环练习
- 1.8 Java入门 - 数组基础
- 1.9 Java入门 - 数组进阶
- 1-10 Java入门 - 方法的使用
- 2-1 Java面向对象 - 类与对象概念
- 2-2 Java面向对象-类和对象编程
- 2-3 Java面向对象 - 封装、继承、接口与多态
- 2-4 Java面向对象 - 对象类型的转换
- 2-5 Java面向对象 - 封装、继承和多态的综合练习
- 2-6 Java面向对象 - 常用类
- 2-7 Java面向对象 - String类
- 2-8 Java面向对象 - 包装类
- 2-9 Java面向对象 -异常处理类
- 3-1 Java高级特性 - IO流(上)
- 3-2 Java高级特性 - IO流(下)
- 3-3 Java高级特性 - 集合框架
- 3-4 Java 字符串与集合练习——词频统计
- 3-5 Java高级特性 - 多线程基础(1)使用线程
- 3-6 Java高级特性 - 多线程基础(2)常用函数
- 3-7 Java高级特性 - 多线程基础(3)线程同步
- 3-8 Java高级特性 - 多线程练习题
- 3-9 Java高级特性 - Java反射
- 3-11 Java高级特性 - JDBC(上)
- 3-10 Java高级特性 - JDBC(下)
- 3-12 Java高级特性 - JDBC练习题
1-1 Java入门 - Java入门基础
第1关:Java第一课
public class HelloWorld
/********* Begin *********/
public static void main(String[] args)
System.out.println("姓名:张三");
System.out.println("年龄:25");
System.out.println("职业:JAVA高级工程师");
System.out.println("薪资:15K");
/********* End *********/
第2关:JAVA入门测试题
C
C
D
BC
第3关:JAVA关键字
package key;
/********* Begin *********/
public class HelloWorld
public static void main(String[] args)
System.out.println("hello eduCoder");
/********* End *********/
第4关:JAVA关键字测试题
ABD
A
第5关:JAVA标识符
package chapter2;
/********* Begin *********/
public class HelloWorld
String userName = "张三";
public static void main(String[] args)
System.out.println("hello eduCoder");
/********* End *********/
第6关:JAVA标识符测试题
CD
D
第7关:JAVA注释
package chapter2;
public class HelloEduCoder
/********* Begin *********/
public static void main(String[] args)
// System.out.println("hello world");
System.out.println("www.educoder.net");
// System.out.println("educoder.net");
// System.out.println("www.educoder");
// System.out.println(".net");
// System.out.println("www");
/********* End *********/
第8关:JAVA注释测试题
ADE
D
1-2 Java入门 - 变量与数据类型
第1关:变量与常量
package chapter2.step1;
public class HelloWorld
public static void main(String[] args)
/********* Begin *********/
String love = "www.educoder.net";
System.out.print(love);
/********* End *********/
第2关:变量的使用
package chapter2;
public class HelloVariable
public static void main(String[] args)
/********* Begin *********/
String love = "我喜欢在educoder上学习"; //在这里定义变量 love 并赋初值为 我喜欢在educoder上学习
/********* End *********/
System.out.println("变量love的值为" + love);
String userName = "张无忌";
/********* Begin *********/
userName = "李四"; //在这一行将userName的值改成李四
/********* End *********/
System.out.println("重新赋值后变量userName的值为" + userName);
第3关:变量测试题
BD
C
第4关:JAVA数据类型
package chapter2;
public class JavaDataType1
public static void main(String[] args)
/********* Begin *********/
//在本行定义字符串变量name
//在本行定义年龄变量 age
//在本行定义性别变量 sex
//在本行定义分数变量 score
/********* End *********/
String name = "张无忌";
char sex = '男';
int age = 23;
float score = 66.6F;
System.out.println(name + age + "岁" + "性别:" + sex + "这次考了" + score + "分");
第5关:Java类型转换
package chapter2;
public class TypeConvert
public static void main(String[] args)
/********* Begin *********/
double score=89.3;
int scoreInt=(int)score;
System.out.println(score);
System.out.println(scoreInt);
/********* End *********/
第6关:JAVA数据类型和类型转换测试题
CD
CD
AD
第7关:Scanner的使用
package chapter2.step7;
import java.util.Scanner;
/********* Begin *********/
public class HelloWorld
public static void main(String[] args)
Scanner input = new Scanner(System.in);
String name = input.next();
int age = input.nextInt();
String sex = input.next();
double weight = input.nextDouble();
String address = input.next();
String jiehun = input.next();
System.out.println("请录入嫦娥个人信息:");
System.out.println("请输入姓名:");
System.out.println("请输入年龄:");
System.out.println("请输入性别:");
System.out.println("请输入体重:");
System.out.println("请输入地址:");
System.out.println("请输入是否已婚:");
System.out.println("信息如下:");
System.out.println(" 姓名:嫦娥");
System.out.println(" 年龄:3500岁");
System.out.println(" 性别:女");
System.out.println(" " + "体重:" + weight + "kg");
System.out.println(" " + "地址:" + address);
System.out.println(" " + "婚否:" + jiehun);
/********* End *********/
1-3 Java入门 - 运算符和表达式
第1关:算数运算符
package step1;
import java.util.Scanner;
public class Cal
public static void main(String[] args)
/*********start*********/
Scanner i = new Scanner(System.in);
System.out.println("请输入第一个整数");
int a = i.nextInt();
System.out.println("请输入第二个整数");
int b = i.nextInt();
System.out.println("两数相加的结果为:" + (a + b));
System.out.println("两数相减的结果为:"+ (a-b));
System.out.println("两数相乘的结果为:" + (a*b));
System.out.println("两数相除的结果为:" + (a/b));
System.out.print("两数取余数的结果为:" + (a%b));
/*********end*********/
第2关:关系运算符
package step2;
import java.util.Scanner;
public class Relative
public static void main(String[] args)
Scanner sc=new Scanner(System.in);
int a=sc.nextInt();
int b=sc.nextInt();
/*********start*********/
System.out.println("a==b=" + (a==b));
System.out.println("a!=b=" + (a!=b));
System.out.println("a>b=" + (a>b));
System.out.println("a<b=" + (a<b));
System.out.println("b>=a=" + (b>=a));
System.out.println("b<=a=" + (b<=a));
/*********end*********/
第3关:逻辑运算符
package step3;
import java.util.Scanner;
public class testLogic
public static void main(String[] args)
Scanner sc=new Scanner(System.in);
boolean a=sc.nextBoolean();
boolean b=sc.nextBoolean();
boolean c=sc.nextBoolean();
/*********start *********/
System.out.println(!a);
System.out.println("false");
System.out.println( c || b );
System.out.println( "true" );
/*********end *********/
第4关:三元运算符
package step4;
import java.util.Scanner;
public class TestYear
public static void main(String[] args)
Scanner sc=new Scanner(System.in);
int year=sc.nextInt();
boolean result;
/********start********/
result= (year%4 == 0) ;
System.out.println(year + "年是否为闰年:" + result);
/********end********/
第5关:运算符的优先级
package step5;
import java.util.Scanner;
public class TestDemo5
public static void main(String[] args)
Scanner sc=new Scanner(System.in);
System.out.println("输入:");
int m=sc.nextInt();
int n=sc.nextInt();
System.out.println("输出:");
/*****start*****/
System.out.println( (m+n)*2 );
System.out.println( (m-n)%3 );
System.out.println(((m-n)/2 + (m+n)*2));
/*****end*****/
第6关:选择自测题
D
B
A
C
C
A
A
1-4 Java入门 - 分支结构
第1关:Java分支结构之 if…else
package step2;
import java.util.Scanner;
public class HelloIfStep2
public static void main(String[] args)
Scanner input = new Scanner(System.in);
/******start******/
System.out.println("请输入学员成绩:");
int s = input.nextInt();
if(s >= 85)
System.out.println("优,非常棒!");
else
System.out.println("良,下次加油!");
/******end******/
第2关:if语句测试题
C
C
D
第3关:Java分支结构之多重if
package step3;
import java.util.Scanner;
public class HelloStep3
public static void main(String[] args)
System.out.println("星级成绩评定系统");
System.out.println("请输入成绩:");
Scanner sc = new Scanner(System.in);
int sco = sc.nextInt();
/******start******/
if(sco>=90)
System.out.println("*****五星成绩");
else if(sco >= 80)
System.out.println("****四星成绩");
else if(sco>=70)
System.out.println("***三星成绩");
else if(sco >=60)
System.out.println("**俩星成绩");
else
System.out.println("无星成绩");
/******end******/
第4关:Java分支结构之Switch
package step4;
import java.util.Scanner;
public class HelloSwitch
public static void main(String[] args)
Scanner sc = new Scanner(System.in);
System.out.println("请输入月份:");
int input = sc.nextInt(); //获取输入的月份
//通过输入的月份来判断当前季节并输出
/*****start*****/
switch(input)
case 12:
case 1:
case 2:
System.out.println(input + "月是冬天");
break;
case 3:
case
目录
第6关: break和continue的区别——continue
JS简介
第1关: JavaScript基础入门
<!DOCTYPE html>
<html>
<head>
<!-- 请在此处编写代码 -->
<!---------Begin--------->
<script>
window.alert("Hello,JavaScript!");
</script>
<!---------End--------->
</head>
<body>
</body>
</html>
第2关: JavaScript 与 HTML
<!DOCTYPE html>
<html>
<!-- 请在此处编写代码 -->
<!---------Begin--------->
<head>
<script>
console.log("如何在HTML代码中嵌入JavaScript代码");
</script>
</head>
<body>
</body>
<!---------End--------->
</html>
第3关: JavaScript 变量
var a = 1;
// 请在此处编写代码
/********** Begin **********/
var b = 100;
/********** End **********/
function variableTest(c)
/********** Begin **********/
var a = 10;
/********** End **********/
return a*c+b;
JS 数据类型
第1关: JavaScript 数据类型介绍
function objectTest()
var a = name:"myName",id:2;
var b = [1,true,2];
var c = 1;
var d = "1";
var e = true;
var f;
var aType,bType,cType,dType,eType,fType;
//请在此处编写代码
/********** Begin **********/
aType = "object";
bType = "array";
cType = "number";
dType = "string";
eType = "bool";
fType = "undefined";
/********** End **********/
return aType+","+bType+","+cType+","+dType+","+eType+","+fType;
第2关: JavaScript 数据类型转换
function mainJs(args1,args2,args3)
// 请在此处编写代码
/*********Begin***********/
var a = parseInt(args1);
var b = parseInt(args2,16);
var c = parseFloat(args3);
/*********End***********/
return a+b+c;
JS运算符
第1关: 算术运算符
function mainJs(a,b)
//请在此处编写代码
/********** Begin **********/
var a1 = parseInt(a);
var b1 = parseInt(b);
var c = a1%b1;
a = a.toString();
b = b.toString();
c = c.toString();
/********** End **********/
return a+b+c;
第2关: 比较和逻辑运算符
function mainJs(a,b)
//请在此处编写代码
/********** Begin **********/
if(a > b)
return a&&b;
else
return !a;
/********** End **********/
第3关: 条件和赋值运算符
function mainJs(a,b)
//请在此处编写代码
/********** Begin **********/
return (a>b)?a:b;
/********** End **********/
第4关: 运算符的优先级和结合性
function mainJs(a,b)
var a = parseInt(a);
var b = parseInt(b);
//请在此处编写代码
/********** Begin **********/
var c = (--a+b)*b==24?1:0;
var d = 4;
var e = (c*=d)+d;
/********** End **********/
return e;
JS对象
第1关: 对象的创建
function Car(plate,owner)
this.plate = plate;
this.owner = owner;
function Job() ;
Job.prototype.company = "myCompany";
Job.prototype.salary = 12000;
function mainJs(a,b,c,d,e)
//请在此处编写代码
/********** Begin **********/
var student = name:a,gender:b;
var myCar = new Car(c,d);
var myJob = new Job();
myJob.company = e;
/********** End **********/
return student.name+student.gender+myCar.plate+myCar.owner+myJob.company;
第2关: 属性的增删改查
var store =
name:"Luma Restaurant",
location:"No 22,Cot Road",
accountant:"Vivian Xie",
day1:3200,
day2:3200,
day3:3200,
day4:3200,
day5:3200,
day6:3200,
day7:3200,
day8:3200,
day9:3200,
day10:3200
function reviseAttribute(reviser,date,attValue)
//Convert string to integer
attValue = parseInt(attValue);
//请在此处编写代码
/********** Begin **********/
store["day"+date] = attValue;
store.accountant = reviser;
/********** End **********/
var totalSales = store["day1"]+store["day2"]+store["day3"]+store["day4"]+store["day5"]+store["day6"]+store["day7"]+store["day8"]+store["day9"]+store["day10"];
return totalSales+store.accountant;
第3关: 属性的检测和枚举
var orange =
weight:"200g",
color:"orange",
taste:"sour"
;
var car =
brand:"Jaguar",
price:"$80000",
model:"XFL"
function mainJs(a)
//请在此处编写代码
/********** Begin **********/
var result = "";
if(a in car)
for(att in car)
result += att;
else
for(att in orange)
result += att;
return result;
/********** End **********/
JS数组
第1关: 数组的创建、读写和长度
var array1 = [1,2,3,"js",4,true,"hello"];
var array2 = [true,true,"java",2.1];
function mainJs(a)
//请在此处编写代码
/********** Begin **********/
a = parseInt(a);
if(array1.length == a)
return array1[array1.length-1];
else
return array2[array2.length-1];
/********** End **********/
第2关: 数组元素的增减
var testArray = [12,"java","js","c","c++",24,36,"python","c#","css"];
function mainJs(a,b)
a = parseInt(a);
b = parseInt(b);
//请在此处编写代码
/********** Begin **********/
for(var i = 0;i < a;i++)
var rearMember = testArray.pop();
testArray.unshift(rearMember);
return testArray[b];
/********** End **********/
第3关: 数组的遍历和多维数组
var arr = [1,2,3,4,5,6,7,8,9,0,10,11,12,13,14,15,16,17,18,19,20,21,23,22];
function mainJs(a,b)
a = parseInt(a);
b = parseInt(b);
//请在此处编写代码
/********** Begin **********/
//新建二维数组,行长为a,列长为b
var multiArr = new Array(a);
for(var i = 0;i < a;i++)
multiArr[i] = new Array(b);
//依次将原数组的元素放置在二维数组的相应位置上
var count = 0;
for(var i = 0;i < a;i++) //先行
for(var j = 0;j < b;j++) //后列
multiArr[i][j] = arr[count++];
//返回二维数组
return multiArr;
/********** End **********/
第4关: 数组的常用方法
function mainJs(myArray)
myArray = myArray.split(",");
//请在此处编写代码
/********** Begin **********/
//新建用来存储字符串a位置的数组
var indexsArrayOfStringa = new Array();
//新建用来存储字符串b位置的数组
var indexsArrayOfStringb = new Array();
//求出参数字符串的长度
var myArrayLength = myArray.length;
var index = 0;
//遍历获得字符串a的所有位置
while(index < myArrayLength)
index = myArray.indexOf("a",index);
if(index == -1) break;
indexsArrayOfStringa.push(index++);
index = 0;
//遍历获得字符串b的所有位置
//这两个函数千万不要合在一起写!!!
while(index < myArrayLength)
index = myArray.indexOf("b",index);
if(index == -1) break;
indexsArrayOfStringb.push(index++);
//返回两个数组的和数组
return indexsArrayOfStringa.concat(indexsArrayOfStringb);
/********** End **********/
第5关: 数组的应用——内排序
function mainJs(a)
var arr = a.split(",");
for(var i = 0;i < arr.length;i++)
arr[i] = parseInt(arr[i]);
//请在此处编写代码
/********** Begin **********/
var aLength = arr.length;//待排序数组的长度
var temp;
var max = arr[0];
var maxIndex = 0;
var indexArr = new Array();//记录最大元素位置的数组
//进行选择排序
for(var i = 0;i < aLength-1;i++)
for(var j = 1;j < aLength-i;j++)
if(arr[j] > max) //更新最大元素及其索引
max = arr[j];
maxIndex = j;
//记录最大元素所在的位置
indexArr.push(maxIndex);
//移动最大元素到索引最大处
temp = arr[aLength-i-1];
arr[aLength-i-1] = arr[maxIndex];
arr[maxIndex] = temp;
//将最大元素及位置归零
var max = arr[0];
var maxIndex = 0;
return indexArr;
/*********end*********/
JS条件语句
第1关: if-else类型
function mainJs(a)
a = parseInt(a);
//请在此处编写代码
/********** Begin **********/
if(a >= 60)
return "pass";
else
return "unpass";
/********** End **********/
第2关: switch类型
function mainJs(a)
a = parseInt(a);
//请在此处编写代码
/********** Begin **********/
var name;
switch(a)
case 82414:name = "Superior";
break;
case 59600:name = "Huron";
break;
case 58016:name = "Michigan";
break;
case 25744:name = "Erie";
break;
case 19554:name = "Ontario";
break;
default:name = "error";
break;
return name;
/********** End **********/
第3关: 综合练习
//判断一个年份是否为闰年
function judgeLeapYear(year)
//请在此处编写代码
/********** Begin **********/
var tt="年是闰年";
var ff="年不是闰年";
if(year%100==0)
if(year%400==0)
return year+tt;
else
return year+ff;
else
if(year%4==0)
return year+tt;
else
return year+ff;
/********** End **********/
//对输入进行规范化处理
function normalizeInput(input)
/********** Begin **********/
var output;
switch(input)
case "中共党员":
case "党员":
case "共产党员":output="中共党员";
break;
case "中共预备党员":
case "预备党员":output="中共预备党员";
break;
case "团员":
case "共青团员":output="共青党员";
break;
case "大众":
case "市民":
case "人民": output="群众";
break;
default: output="错误数据";
break;
return output;
/********** End **********/
//判断苹果是否为优质品
function evaluateApple(weight,water)
/********** Begin **********/
if(weight>=200 )
return "是优质品";
else
if(water>=0.7)
return "是优质品";
else
return "不是优质品";
/********** End **********/
JS循环语句
第1关: while类型
function mainJs(a)
a = parseInt(a);
//请在此处编写代码
/********** Begin **********/
var sum = 0;
var i = 2;
while(i <= a)
var j = 2;
while(j < i)
if(i%j == 0) //能被整除,不是质数
break;//不需要再判断
j ++;//除数加1,继续测试是不是质数
if(j == i) //还是没有因数,证明这是一个质数
sum = sum+i;//加在结果里面
i = i+1;//测试下一个数是不是质数
return sum;
/********** End **********/
第2关: do while类型
function mainJs(a,b)
a = parseInt(a);
b = parseInt(b);
//请在此处编写代码
/********** Begin **********/
var sum = 0;//结果
var i = a+1;//从a后面的第一个数开始累加
while(i < b) //直到b前面的第一个数
sum += i;
i++;//下一个数
return sum;//返回结果和
/********** End **********/
第3关: for类型
function mainJs(a)
a = parseInt(a);
//请在此处编写代码
/********** Begin **********/
var numLen = a.toString().length;//求出是个几位数
var num = 1;
var result = 0;
for(var i = 0;i < numLen;i++)
var curNum = a.toString().substring(i,i+1);//取出其中的第i位数
result = result+curNum*num;
num = num*10;
return result;
/********** End **********/
第4关: for in类型
var apple =
weight:"200克",
level:"特级",
locationProvince:"陕西省",
locationCity:"榆林市"
function mainJs(a,b)
apple[a]= b;
//请在此处编写代码
/********** Begin **********/
var result = "";//结果字符串
for(var x in apple) //遍历所有的属性
if(x.indexOf("location") == 0) //以location开头的属性
result += apple[x];//属性的值拼接
return result;//返回结果
/********** End **********/
第5关: break和continue的区别——break
function mainJs(a)
var arr = a.split(",");
for(var k = 0,length = arr.length;k < length;k++)
arr[k] = parseInt(arr[k]);
//请在此处编写代码
/********** Begin **********/
for(var i = 0,length = arr.length;i < length;i++)
var cur = arr[i];//数组的第i个数
for(var j = 2;j < cur;j++)
if(cur%j == 0) break;//不是质数,不需要再测试
if(j == cur) break;//已经找到了质数cur
return arr[i];
/********** End **********/
第6关: break和continue的区别——continue
function mainJs(a,b)
a = a.split(",");
for(var i = 0,length = a.length;i < length;i++)
a[i] = parseInt(a[i]);
var sum = 0;
for(var i = 0,length = a.length;i < length;i++)
//请在此处编写代码
/********** Begin **********/
if(b > 0 && a[i] < 0) continue;//求正数的和,遇到负数跳过
if(b < 0 && a[i] > 0) continue;//求负数的和,遇到正数跳过
/********** End **********/
sum += a[i];
return sum;
JS函数
第1关: 用函数语句定义函数
//请在此处编写代码
/********** Begin **********/
function mainJs(a,b)
return a+b;
/********** End **********/
第2关: 用表达式定义函数
function mainJs(a)
a = parseInt(a);
//请在此处编写代码
/********** Begin **********/
var myFunc = function(b)
var first = (b-b%100)/100;//求出百位数
var second = (b%100-b%100%10)/10;//求出十位上的数
var third = b-first*100-second*10;//求出各位数
return first+second+third;
/********** End **********/
return myFunc(a);
第3关: 函数的调用
//求最大值的函数
function getMax(b,c)
return b>c?b:c;
//求最小值的函数
var getMin = function(b,c)
return b>c?c:b;
//对象中的求和函数
var myObject =
id:1,
name:"function",
myFunc:function(b,c)
return b+c;
function mainJs(a,b,c)
a = parseInt(a);
b = parseInt(b);
c = parseInt(c);
//请在此处编写代码
/********** Begin **********/
if(a == 1)
return getMax(b,c);
else if(a == 2)
return getMin(b,c);
else
return myObject.myFunc(b,c);
/********** End **********/
第4关: 未定义的实参
function mainJs(a,b,c,d)
//请在此处编写代码
/********** Begin **********/
if(a === undefined)
a = "green";
if(b === undefined)
b = "green";
if(c === undefined)
c = "red";
if(d === undefined)
d = "yellow";
return a+"-"+b+"-"+c+"-"+d;
/********** End **********/
第5关: 实参对象
//请在此处编写代码
/********** Begin **********/
function getMax()
var aLength = arguments.length;
var amax = 0;
for(var i = 0;i < aLength;i++)
if(arguments[i] > amax)
amax = arguments[i];
return amax;
/********** End **********/
function mainJs(a)
a = parseInt(a);
switch(a)
case 1:return getMax(23,21,56,34,89,34,32,11,66,3,9,55,123);
case 2:return getMax(23,21,56,34,89,34,32);
case 3:return getMax(23,21,56,34);
case 4:return getMax(23,21,56,34,89,34,32,11,66,3,9,55,123,8888);
case 5:return getMax();
default:break;
第6关: 对象作为参数
var park =
name:"Leaf Prak",
location:"Fifth Avenue",
todayTourists:4000
;
var computer =
name:"Levenon",
price:"$800",
memory:"8G"
;
var city =
name:"HangZhou",
country:"Chine",
population:9400000
function objectFunction(object)
//请在此处编写代码
/********** Begin **********/
var result = "";
for(x in object)
result = result+x+":"+object[x]+",";
return result;
/********** End **********/
function mainJs(a)
a = parseInt(a);
switch(a)
case 1:return objectFunction(park);
case 2:return objectFunction(computer);
case 3:return objectFunction(city);
default:break;
第7关: 函数对象
//求数组中奇数元素的个数
function getOddNumber(a)
var result = 0;
for(var i = 0;i < a.length;i++)
if(a[i]%2 != 0)
result++;
return result;
//求数组中偶数元素的个数
function getEvenNumber(a)
var result = 0;
for(var i = 0;i < a.length;i++)
if(a[i]%2 == 0)
result++;
return result;
function getNumber(func,a)
//请在此处编写代码
/*********Begin*********/
return func(a);
/*********End*********/
//测试接口
function mainJs(b,a)
a = a.split(",");
var aLength = a.length;
for(var i = 0;i < aLength;i++)
a[i] = parseInt(a[i]);
if(b == "getEvenNumber")
return getNumber(getEvenNumber,a);
else
return getNumber(getOddNumber,a);
字符串
第1关: 查找字符串的位置
function mainJs(a,b)
//请在此处编写代码
/********** Begin **********/
var startIndex = 0;
var aLength = a.length;//a的长度
var index = 0;
var result = 0;
while(startIndex < aLength) //还没有匹配到末尾
index = a.indexOf(b,startIndex);//本次匹配的位置
if(index == -1) //后面已经没有匹配的子串
break;//提前结束整个过程
startIndex = index+1;//下次匹配的起始位置
result += index;
return result;
/*********End*********/
第2关: 求指定位置的字符
function mainJs(a)
//请在此处编写代码
/********** Begin **********/
var result = "";
for(var i = 0;i < 6;i++) //遍历,依次获取前六个数字
result += a.charAt(i);
return result;
/********** End **********/
第3关: 字符串的截取
function mainJs(a,b)
//请在此处编写代码
/********** Begin **********/
if(a.indexOf(b) == -1) //没有杂质字符串直接返回
return a;
else
var startIndex = a.indexOf(b);//杂质字符串起始处
var endIndex = startIndex+b.length;//杂质字符串结束处
return a.slice(0,startIndex)+a.slice(endIndex);
/*********End*********/
第4关: 大小写转换
function mainJs(a,b)
//请在此处编写代码
/********** Begin **********/
var str1 = b.toUpperCase();//把b转换为大写
var aa = a.split(b);//以b为边界分割a为字符串数组
a = aa.join(str1);//以转换后的b为边界重新连接字符串数组得到新的a
return a;
/*********End*********/
第5关: 字符串的分割
function mainJs(a)
//请在此处编写代码
/********** Begin **********/
var spaceArray = a.split(" ");//以space分割
var commaArray = a.split(",");//以逗号分隔
return spaceArray.length+commaArray.length-1;
/*********End*********/
JS运算符
第1关: 算术运算符
function mainJs(a,b)
//请在此处编写代码
/********** Begin **********/
var a1 = parseInt(a);
var b1 = parseInt(b);
var c = a1%b1;
a = a.toString();
b = b.toString();
c = c.toString();
/********** End **********/
return a+b+c;
第2关: 比较和逻辑运算符
function mainJs(a,b)
//请在此处编写代码
/********** Begin **********/
if(a > b)
return a&&b;
else
return !a;
/********** End **********/
第3关: 条件和赋值运算符
function mainJs(a,b)
//请在此处编写代码
/********** Begin **********/
return (a>b)?a:b;
/********** End **********/
第4关: 运算符的优先级和结合性
function mainJs(a,b)
var a = parseInt(a);
var b = parseInt(b);
//请在此处编写代码
/********** Begin **********/
var c = (--a+b)*b==24?1:0;
var d = 4;
var e = (c*=d)+d;
/********** End **********/
return e;
正则表达式
第1关: 字符串字面量
function mainJs(a)
a = a.replace(",","\\n");
//请在此处编写代码
/********** Begin **********/
var pattern = /js\\n/;
/********** End **********/
return pattern.test(a).toString();
第2关: 字符类
function mainJs(a)
//请在此处编写代码
/********** Begin **********/
var pattern1 = /[a-zA-Z][0-9]/;
var pattern2 = /A[^0-9]/;
/********** End **********/
return pattern1.test(a).toString()+","+pattern2.test(a).toString();
第3关: 重复
function mainJs(a)
//请在此处编写代码
/********** Begin **********/
var pattern1 = /\\?+/;
var pattern2 = /\\+3,3/;
var pattern3 = /\\\\1,2/;
var pattern4 = /\\\\0,1/;
/********** End **********/
return pattern1.test(a).toString()+","+pattern2.test(a).toString()+","+pattern3.test(a).toString()+","+pattern4.test(a).toString();
第4关: 选择
function mainJs(a)
//请在此处编写代码
/********** Begin **********/
var pattern1 = /[0-9]17([0-9]|X)/;
var pattern2 = /2(3|4)[0-9]4/;
var pattern3 = /010|02[012345789]/;
/********** End **********/
return pattern1.test(a).toString()+","+pattern2.test(a).toString()+","+pattern3.test(a).toString();
第5关: 分组
function mainJs(a)
//请在此处编写代码
/********** Begin **********/
var pattern1 = /(\\?\\+)2,/;
var pattern2 = /\\d(\\?|\\+)\\d/;
/********** End **********/
return pattern1.test(a).toString()+","+pattern2.test(a).toString();
第6关: 引用
function mainJs(a)
//请在此处编写代码
/********** Begin **********/
var pattern1 = /([0-9]3)[^0-9]\\1/;
var pattern2 = /[A-Z]([0-9])[A-Z]\\1[A-Z]\\1/;
/********** End **********/
return pattern1.test(a).toString()+","+pattern2.test(a).toString();
第7关: 匹配位置
function mainJs(a)
//请在此处编写代码
/********** Begin **********/
var pattern = /^js\\b/;
/********** End **********/
return pattern.test(a).toString();
第8关: 修饰符
function mainJs(a)
//请在此处编写代码
/********** Begin **********/
var pattern = /\\bshell\\b/ig;
/********** End **********/
return a.match(pattern);
第9关: 正则表达式的使用
function mainJs(a)
//请在此处编写代码
/********** Begin **********/
var pattern = /[0-9]/g;
return a.replace(pattern,"");
/********** End **********/
以上是关于educoder(头歌)平台Java实训作业答案的主要内容,如果未能解决你的问题,请参考以下文章
头歌(Educoder)实践教学平台——Hive综合应用案例
educoder头歌实训 太原理工大学web课程————JavaScript对象:数组
educoder头歌Web实训 太原理工web课——综合应用案例:限时秒杀效果的制作全网更新最快
educoder头歌Web实训 太原理工web课——综合应用案例:拼图页面的制作全网更新最快