educoder(头歌)平台Java实训作业答案

Posted 见面吃火锅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了educoder(头歌)平台Java实训作业答案相关的知识,希望对你有一定的参考价值。

头歌educoder实训java


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 

目录

JS简介

第1关: JavaScript基础入门

第2关: JavaScript 与 HTML

第3关: JavaScript 变量

JS 数据类型

第1关: JavaScript 数据类型介绍

第2关: JavaScript 数据类型转换

JS运算符

第1关: 算术运算符

第2关: 比较和逻辑运算符

第3关: 条件和赋值运算符

第4关: 运算符的优先级和结合性

JS对象

第1关: 对象的创建

第2关: 属性的增删改查

第3关: 属性的检测和枚举

JS数组

第1关: 数组的创建、读写和长度

第2关: 数组元素的增减

第3关: 数组的遍历和多维数组

第4关: 数组的常用方法

第5关: 数组的应用——内排序

JS条件语句

第1关: if-else类型

第2关: switch类型

第3关: 综合练习

JS循环语句

第1关: while类型

第2关: do while类型

第3关: for类型

第4关: for in类型

第5关: break和continue的区别——break

第6关: break和continue的区别——continue

JS函数

第1关: 用函数语句定义函数

第2关: 用表达式定义函数

第3关: 函数的调用

第4关: 未定义的实参

第5关: 实参对象

第6关: 对象作为参数

第7关: 函数对象

字符串

第1关: 查找字符串的位置

第2关: 求指定位置的字符

第3关: 字符串的截取

第4关: 大小写转换

第5关: 字符串的分割

JS运算符

第1关: 算术运算符

第2关: 比较和逻辑运算符

第3关: 条件和赋值运算符

第4关: 运算符的优先级和结合性

正则表达式

第1关: 字符串字面量

第2关: 字符类

第3关: 重复

第4关: 选择

第5关: 分组

第6关: 引用

第7关: 匹配位置

第8关: 修饰符

第9关: 正则表达式的使用



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课——综合应用案例:拼图页面的制作全网更新最快

educoder头歌实训 太原理工大学web课程————JavaScript对象:Math日期

educoder头歌Web实训 太原理工web课——综合应用案例:商城下拉菜单的制作[全网更新最快]