黑马程序员之基础题学习笔记:基础测试

本文包含了多个C#编程的基础练习,包括计算1到100的和,找出数组中的最大值,日期格式转换,创建Person类并实现继承,以及使用纯文本编辑器编写HTML页面和JavaScript表单验证。同时,还涉及了Java编程中将秒数转换为时间单位的示例,以及二维数组找最小元素的方法。最后,简要介绍了Java中的Collection、Collections、List和Set的关系及特点。

-----------------------------------------2345王牌技术员联盟2345王牌技术员联盟、期待与您交流!---------------------------------------------

1、编写程序计算1+2+3+....+100的和。

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

 

namespace TEST_1

{

    class Sum

    {

        static void Main(string[]args)

        {

                int i;

                int sum = 0;

                for (i = 0; i < =100; i++)

                {

                     sum=sum+ i;

                }

                Console.WriteLine("计算后的和为:{0}",sum);

                Console.ReadKey();

        }

    }

}

 


2、已知一个int数组,编程从数组中获取最大数。

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

 

namespace TEST_2

{

    class Max

    {

              static int MaxValue(int[] intArray)

             {

                        int maxVal = intArray[0];

                        for(int i = 0; i < intArray.Length - 1; i++)

                       {

                                if (intArray[i] > maxVal)

                                maxVal = intArray[i];

                       }

                             return maxVal;

              }

             static void Main(string[]args)

             {

                      int[] myArray = {123, 22, 33, 8, 66, 55, 99,3, 2, 1 };

                      int maxVal = MaxValue(myArray);

                      Console.WriteLine("最大数为:{0}", maxVal);

                      Console.ReadKey();                        

             }

     }

}

 

3、用户输入一个“2008-01-02”格式的日期,分析用户输入的日期然后按照“2008年1月2日”的格式重新输出。

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

 

namespace TEST_3

{

    class Max

    {

           static void Main(string[]args)

           {

                     Console.WriteLine();
                     Console.WriteLine("请输入要转换的日期:");   
                   
 string date = Console.ReadLine();                  

                     string[] t = date.Split('-');

                     Console.WriteLine("{0}"+ "" + "{1}" +""+"{2}"+"", t[0],t[1],t[2]);

                     Console.ReadKey();

           }

    }

}

 

4、编写一个类Person,为Person类定义年龄、姓名两个属性,并且定义一个SayHello方法,方法执行时输出“我是***我的年龄是***”;定义一个Chinese类从Person类继承。

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

 

namespace TEST_4

{

        class Program

        {

                static void Main(string[] args)

                    {

                          Chinese stu = new Chinese();

                          stu.Age= 27;

                          stu.Name= "XuTingzhou";

                          stu.SayHello();

                     }

          }

        abstract class Person

        { 

                  private string name;

                  private int age;

                 public int Age

                 {

                         get { return age;   }

                         set { age = value; }

                 }

                 public string Name

                  {

                          get { return name;  }

                          set { name = value; }

                  }

                 public abstract void SayHello();

          }

         class Chinese:Person

          {

                   public override void  SayHello()

                  {

                        Console.WriteLine("我是"+Name+"我的年龄是:"+Age);

                        Console.ReadKey();

                   }

           }

      }

}

5、不借助于Dreamweaver、VisualStudio等开发工具,使用记事本等文本编辑器编写下面的HTML页面:

 

<html>

      <head>

          <title>Test_Login</title>

<style type="text/css">

#tb{

        border-bottom:1px solid #ADADAD;

        border-right: 1px solid  #ADADAD;

        background:#F0F0F0;

        font:normal 12px/22px "宋体";

}

 

#tb td,th

{

         border-top: 1px solid  #ADADAD;

         border-left:1px solid  #ADADAD;

}

.centerz{text-align:center;}

 

.left{text-align:right;}

</style>

      </head>

<body>

<form>

<table cellspacing=0 cellpadding=5 id="tb">

<tr >

<td  colspan="2" style="font-weight:bold;background:#97CBFF">必填信息</td>

</tr>

<tr >

<td class="left">登录名

</td>

<td><input type="text" />(只能用英文、数字和下划线)

</td>

</tr>

<tr >

<td class="left">密码</td>

<td><input type="password" style="width:110px";/>(密码必须大于5位,区分大小写)

</td>

</tr>

<tr >

<td class="left">确认密码</td>

<td><input type="password" style="width:110px";/>

</td>

</tr>

<tr >

<td class="left">邮件地址</td>

<td><input type="text" style="width:300px";/>

</td>

</tr>

<tr >

<td class="left">确认邮件地址</td>

<td><inputtype="text"style="width:300px";/>

</td>

</tr>

<tr >

<td colspan="2" class="centerz">

<input type="submit"style="width:90px";value="提 交"/>&nbsp&nbsp&nbsp&nbsp&nbsp<input type="reset"style="width:70px" value="重 填"/>

</td>

</tr>

</table>

</form>

</body>

</html>

 


6、使用JavaScript验证第5题的HTML表单。要求如下:“登录名”必须是字母数字或下划线, 不能以数字开头;密码为6-16位字母、数字或者下划线.;密码和确认密码一致;邮件地址是正确的邮件地址格式;邮件地址和确认邮件地址一致;。

<html>

      <head>

          <title>Test_Login</title>

<style type="text/css">

#tb{

        border-bottom:1px solid #ADADAD;

        border-right: 1px solid  #ADADAD;

        background:#F0F0F0;

        font:normal 12px/22px "宋体";

}

 

#tb td,th

{

         border-top: 1px solid  #ADADAD;

         border-left: 1px solid  #ADADAD;

}

.centerz{text-align:center;}

 

.left{text-align:right;}

</style>

 <script type="text/javascript">

 

 

           function IsDigit(cCheck)

          {

             return(('0'<=cCheck)&&(cCheck<='9'));

          }

          function IsAlpha(cCheck)

          {

             return((('a'<=cCheck)&&(cCheck<='z'))||(('A'<=cCheck)&&(cCheck<='Z')));

          }

          function checkUser()

         {

             var name=document.getElementById('name').value;//获取form表单里用户填入的登录名

             var namemsg=document.getElementById('namemsg');

               if(name=='')

               {

                      namemsg.innerHTML="(登录名不得为空!)";

               }

 

              for(nIndex=0;nIndex<name.length;nIndex++)

              {

                    cCheck=name.charAt(nIndex);

                    if(IsDigit(cCheck))

                    {

                       namemsg.innerHTML="(登录名不能以数字开头!)";   

                     }

                    if(!(IsDigit(cCheck)||IsAlpha(cCheck)||cCheck=='_'))

                    {

                       namemsg.innerHTML="(登录名必须是字母数字或下划线!)";   

                   

                     }

                 }      

         }

 

 

         function  checkPwdSame()

        {

              var value1=document.getElementById("pwd").value;

              var value2=document.getElementById("repwd").value;

              if(value1!=value2)

              {

                     pwdsamemsg.innerHTML="(两次输入的密码必须必须相同!)";   

              }

              else  pwdsamemsg.innerHTML=' ';  

        }

 

 

 

        function checkPwd()

        {

              var pwd=document.getElementById('pwd').value;//获取form表单里用户填入的密码

              var pwdmsg=document.getElementById('pwdmsg');

              if(pwd=='')

              {

                  pwdmsg.innerHTML="(密码不得为空!)";

              }

              else

              {

                   if(pwd.length<6)

                    {

                        pwdmsg.innerHTML="(密码必须大于5位!)";                  

                     }

                    

                     else

                     {

                             pwdmsg.innerHTML='';  

                     }    

               }

        }

        function checkemail()

        {

          var str=document.getElementById('email').value; 

          var reg =/^[0-9a-zA-Z_]{1,12}@(163|126|qq|yahoo|gmail|sina)\.(com|com\.cn|cn|la)$/;

          if(str.search(reg) <0)

          {

               document.getElementById('emailmsg').innerHTML= "(输入电子邮箱错误!)";

           }

          else

          {

                document.getElementById('emailmsg').innerHTML= "(电子邮箱正确!)";

           }

        }

 

          function  checkEmailSame()

         {

              var value3=document.getElementById('email').value;

              var value4=document.getElementById('reemail').value;

              if(value3!=value4)

              {

                     emailsamemsg.innerHTML="(两次输入的电子邮箱必须必须相同!)";   

              }

              else   emailsamemsg.innerHTML=' ';  

        }

</script>

 </head>

<body>

<formaction="" method="post">

<table cellspacing=0 cellpadding=5 id="tb">

<tr >

<td  colspan="2"style="font-weight:bold;background:#97CBFF">必填信息</td>

</tr>

<tr >

<tdclass="left">登录名

</td>

<td><input name="name" id="name" type="text"onBlur="checkUser()"/><spanid="namemsg"></span>

</td>

</tr>

<tr >

<tdclass="left">密码</td>

<td><input name="pwd" id="pwd" type="password"onBlur="checkPwd()" style="width:110px";/><spanid="pwdmsg"></span>

</td>

</tr>

<tr >

<td class="left">确认密码</td>

<td><input type="password" id="repwd" name="repwd" onBlur="checkPwdSame()"style="width:110px";/><spanid="pwdsamemsg"></span>

</td>

</tr>

<tr >

<tdclass="left">邮件地址</td>

<td><input type="text" id="email" name="email" onBlur="checkemail()"style="width:300px";/><spanid="emailmsg"></span>

</td>

</tr>

<tr >

<tdclass="left">确认邮件地址</td>

<td><input type="text" id="reemail" name="reemail" onBlur="checkEmailSame()"style="width:300px";/><spanid="emailsamemsg"></span>

</td>

</tr>

<tr >

<tdcolspan="2" class="centerz">

<input type="submit" style="width:90px";value="提   交"/>&nbsp&nbsp&nbsp&nbsp&nbsp<input type="reset"style="width:70px" value="重 填"/>

</td>

</tr>

</table>

</form>

</body>

</html>


7.从键盘接受一个数字,打印该数字表示的时间,最大单位到天,例如:

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Scanner;        
/** 
*第1题:从键盘接受一个数字,打印该数字表示的时间,最大单位到天
*例如:
*键盘输入6,打印6秒
*键盘输入60,打印1分
*键盘输入66,打印1分6秒
*键盘输入666,打印11分6秒
*键盘输入3601,打印1小时1秒
*/
public class SecondToTime 
{
    // 定义一些常量,单位是秒
    public static final int DAY = 86400;
    public static final int HOUR = 3600;
    public static final int MINUTE = 60;
    public static void main(String[] args) throws IOException { 
        Scanner sss = new Scanner(System.in);  
        System.out.print("请输入秒数: ");  
        int num, seconds, minutes, hours, days;  
        num = sss.nextInt();  
        System.out.print("键盘输入"+num+".......打印:");  
        if(num > 0)
        {
            // 直接计算相应的天、时、分、秒。不足1分钟的,minutes就等于0;不足1小时的,hours就等于0
            // 不足1天的,days就等于0
            days = num / DAY;
            hours = (num % DAY) / HOUR;
            minutes = (num % HOUR) / MINUTE;
            seconds = num % MINUTE;
            String result;
            // 结果字符串。等于0的部分就不打印
            result = (days > 0 ? String.valueOf(days) + "天" : "") + 
                (hours > 0 ? String.valueOf(hours) + "小时" : "") +
                (minutes > 0 ? String.valueOf(minutes) + "分" : "") +
                (seconds > 0 ? String.valueOf(seconds) + "秒" : "");
            System.out.println(result);
        }
        else if (num == 0)
            System.out.println("0秒");
        else
        {
              System.out.println();
              System.out.println("你输入了一个负数");  
        }
    }
}

8.定义一个二维int数组,编写代码获取最小元素。

public static void main(String []args)
{
        int [][]array={{27,13,29,55,12},{95,73,12,0,132,-43},{0,15,79,70,42,-12}};
        int min=0, temp;
        for(int i=0; i<array.length; i++)
       {
            int [] tempArr = array[i];
            Arrays.sort(tempArr);
            temp = tempArr[0];
            min = temp > min ? min : temp;
        }   
        System.out.println("最小值为:"+min);
}

9.Collection和Collections有什么关系?List和Set有什么异同点?Map有哪些常用类,各有什么特点?

        Collections是个java.util下的类,是针对集合类的一个工具类,提供一系列静态方法,实现对集合的查找、排序、替换、线程安全化(将非同步的集合转换成同步的)等操作。
    Collection是个java.util下的接口,它是各种集合结构的父接口,继承于它的接口主要有Set和List,提供了关于集合的一些操作,如插入、删除、判断一个元素是否其成员、遍历等。
       List:有序(元素存入集合的顺序和取出的顺序一致),元素都有索引。元素可以重复。
       Set:无序(存入和取出顺序有可能不一致),不可以存储重复元素。必须保证元素唯一性。
       Map集合存储和Collection有着很大不同:Collection一次存一个元素;Map一次存一对元素。Collection是单列集合;Map是双列集合。Map中的存储的一对元素:一个是键,一个是值,键与值之间有对应(映射)关系。
       特点:要保证map集合中键的唯一性。

--------------------------------------------------- 2345王牌技术员联盟2345王牌技术员联盟、期待与您交流!---------------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值