JAVA练习题

1-1StringBuilder类是线程安全的,StringBuffer类是线程不安全的。(1分)

T          F

1-2

子类如果想使用父类的构造方法,必须在子类的构造方法中使用,并且必须使用关键字super来表示,而且super必须是子类构造方法中的头一条语句。 (1分)

T          F
1-3

接口中的方法默认是public abstract方法。 (1分)

T          F

1-4

一个try语句可以有多个catch语句与之对应。 (1分)

T          F

1-5

设String对象s="Hello ",运行语句System.out.println(s.concat("World!"));后String对象s的内容为"Hello world!",所以语句输出为Hello world!。 (1分)

T          F

1-6

package语句必须放到java程序的最开始。 (1分)

T          F

1-7

如果在子类的构造方法中,没有使用关键字super调用父类的某个构造方法,那么默认有super();语句,即调用父类的不带参数的构造方法。 (1分)

T          F

1-8

构造函数名应与类名相同,返回类型为void。 (1分)

T          F



1-9

一个类的静态方法不可以访问该类的非静态成员变量。 (1分)

T          F

1-10Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。 (1分)

T          F

(检验密码)一些网站设定了一些制定密码的规则。编写一个方法,检验一个字符串是否合法的密码。假设密码规则如下: 密码必须至少有8个字符。 密码只能包含字母和数字。 密码必须至少有2个数字。 请编写一个程序,提示用户输入密码,如果改密码符合规则就显示“Valid password”,否则显示“Invalid password”。


public class Main {
	  public static void main(String[] args) {
	    // Prompt the user to enter a password
	    java.util.Scanner input = new java.util.Scanner(System.in);
	    //System.out.print("Enter a string for password: ");
	    String s = input.nextLine();

	    if ((3分)) {
	      System.out.println("Valid password");
	    }
	    else {
	      System.out.println("Invalid password");
	    }
	  }

	  /** Check if a string is a valid password */
	  public static boolean isValidPassword(String s) {
	    // Only letters and digits?
	    for (int i = 0; i < s.length(); i++) {
	      if ((3分)) && 
	          !Character.isDigit(s.charAt(i)))
	        return false;
	    }
	    
	    // Check length
	    if ((2分) < 8)
	      return false;
	    
	    // Count the number of digits
	    int count = 0;
	    for (int i = 0; i < s.length(); i++) {
	      if ((2分))
	        count++;
	    }
	    
	    if (count >= 2)
	      return true;
	    else 
	      return false;
	  }
	}

定义一个股票类Stock(10 分)

定义一个名为Stock的股票类,这个类包括:一个名为symbol的字符串数据域表示股票代码。一个名为name的字符串数据域表示股票名称。一个名为previousClosingPrice的double数据域,它存储前一日的股票交易价格。一个名为currentPrice数据域,它存储当前的股票交易价格。创建一个有特定代码和名称的股票的构造方法。一个名为getChangePercent()方法返回从previousClosingPrice变化到currentPrice的百分比。

类名为:

Stock

裁判测试程序样例:

import java.util.Scanner;
/* 你提交的代码将被嵌入到这里 */

public class Main {
  public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    String symbol1=input.next();
    String name1=input.next();    
    Stock stock = new Stock(symbol1, name1);

    stock.previousClosingPrice = input.nextDouble();

    // Input current price
    stock.currentPrice = input.nextDouble();

    // Display stock info
    System.out.println(stock.name+"price changed: " + stock.changePercent() * 100 + "%");
    input.close();
  }
}

输入样例:

002594
比亚迪
56.98
55.40

输出样例:

比亚迪股价涨跌: -2.77290277290277%
import java.math.BigInteger;
import java.util.Scanner;


public class Main{
    public static void main(String[] args) {
        Scanner cin = new Scanner(System.in 


);


        BigInteger Big1,Big2;


        Big1 = new BigInteger(cin.next());
        Big2 = new BigInteger(cin.next());


        System.out.println(Big1.divide(Big2));

7-2 验证手机号码(C++ Java)(10 分)

某系统在新用户注册时必须输入手机号,为了提高系统效率,防止输错手机号,需要对手机号进行验证。 验证规则为: (1)长度为11位 (2)由数字0~9组成 (3)必须是1开头 以上3个条件同时满足,则验证通过,否则为不通过。

输入格式:

在一行中一个字符串,长度不超过50个字符。例如: 13802988920

输出格式:

如果验证通过则输出Yes,否则输出No。

输入样例:

13812345678

输出样例:

Yes


    }
}
import java.util.Scanner;
import java.util.Arrays;
public class Main {


public static void main(String[] args) 
{
int i = 0;
Scanner in = new Scanner (System.in 


);
String num1 = in.nextLine();
for ( i = 0; i < num1.length(); i++)
{
if (!Character.isDigit(num1.charAt(i)))
   {
System.out.println("No");
break;
            }
}
if(i==num1.length())
{
long num = Long.parseLong(num1); 
long a = num;
long b = 0;
long []list = {0,1,2,3,4,5,6,7,8,9};
int temp = 0;
for (temp=0;a>=1;temp++)
{
a = a / 10;
}
for (;num>1;)
{
num = num /10;
}
if(temp == 11 && num ==1)
{
System.out.println("Yes");
}
else
{
System.out.println("No");
}
}
}
}

你可能感兴趣的:(java)