JavaSE高階應用程式設計——工具類練習題
1、 編寫一個程式,實現從命令列引數輸入兩個字串型別的數值,並計算輸出兩個數值的和。 [必做題]
//編寫一個程式,實現從命令列引數輸入兩個字串型別的數值,並計算輸出兩個數值的和。 [必做題]
import java.util.Scanner;
public class MySum {
public static void main(String[] args) {
System.out.println("請輸入兩個字串型別的數值……");
Scanner in = new Scanner(System.in);
String str1 = in .next();
String str2 = in.next();
MySum(str1,str2);
}
public static void MySum(String str1,String str2){
int x = Integer.parseInt(str1);
int y = Integer.parseInt(str2);
int sum = x+y;
System.out.println(x+"與"+y+"兩個數值的和為"+sum);
}
}
• 2、編寫一個程式,實現從命令列引數輸入一字串,統計該字串中字元“e”出現的次數。(識點:String中常用的方法) [必做題]
//編寫一個程式,實現從命令列引數輸入一字串,統計該字串中字元“e”出現的次數。(識點:String中常用的方法) [必做題]
import java.util.Scanner;
public class eCount {
public static void main(String[] args) {
System.out.println("請輸入一個字串");
Scanner in = new Scanner(System.in);
String str = in.next();
MyeCount(str);
}
public static void MyeCount(String str){
String str2 = "";
int sum = 0;
for(int i = 0;i<str.length();i++){
if(str.charAt(i) == 'e'){
sum++;
}
}
System.out.println("字串\""+str+"\"中有"+sum+"個e字元");
}
}
• 3、生成十個0~100之間的隨機數,放到陣列中,然後排序輸出。(知識點:Math類取整,獲得隨機數等) [必做題]
import java.util.Arrays;
//生成十個0~100之間的隨機數,放到陣列中,然後排序輸出。(知識點:Math類取整,獲得隨機數等) [必做題]
//注*對於陣列排序有氣泡排序和陣列排序方法兩種,任選其一即可
public class MyScort {
public static void main(String[] args) {
MyScort();
}
public static void MyScort(){
// 定義一個長度為10的陣列用來儲存隨機數
int[] arr = new int[10];
// 依次為陣列存入是個隨機數
for(int i = 0;i<10;i++){
arr[i] = (int) Math.round(Math.random()*100);
}
// 方法一—……氣泡排序,對陣列的元素進行排序
for(int j = 1;j<=arr.length;j++){
for(int i = 0;i<arr.length-j;i++){
int m = 0;
if(arr[i]>arr[i+1]){
m = arr[i];
arr[i] = arr[i+1];
arr[i+1] = m;
}
}
}
// 方法二……陣列方法排序
Arrays.sort(arr);
// 遍歷輸出陣列
for(int i = 0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
}
}
• 4、巴黎時間比北京時間晚7個小時,紐約時間比北京時間晚12個小時,試編寫一程式,根據輸入的北京時間輸出相應的巴黎和紐約時間。[選做題]
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class MyTime {
public static void main(String[] args) throws ParseException{
MyTime();
}
public static void MyTime() throws ParseException{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar cd = Calendar.getInstance();
Scanner in = new Scanner(System.in);
System.out.println("請依次輸入北京時間的年份、月份、日期、時間數、分鐘數,秒數用空格隔開……");
String str1 = in.nextLine();
String[] arr = str1.split(" ");
if(arr.length != 6){
System.out.println("你輸入的資料個數不符合題意");
}else{
String str = arr[0]+"-"+arr[1]+"-"+arr[2]+" "+arr[3]+":"+arr[4]+":"+arr[5];
Date date = sdf.parse(str);
System.out.println("北京時間為:" + sdf.format(date.getTime()));
System.out.println("巴黎時間為:" + sdf.format(date.getTime() - (long)7* 60 * 60 * 1000));
System.out.println("紐約時間為:" + sdf.format(date.getTime() - (long)12* 60 * 60 * 1000));
}
}
}
• 5、解析一個郵箱地址是否合法,如果合法則打印出使用者名稱部分和該郵箱所屬的網站域名,如果郵箱地址不合法則顯示不合法的原因 [選做題]
• 5.1 提示:郵箱地址不合法的因素:
• 5.1.1郵箱地址中不包含@或.
• 5.1.2郵箱地址中含有多了@或.
• 5.1.3郵箱地址中.出現在@的前面
• 5.1.4使用者名稱裡有其他字元
• 5.2實現步驟:
• 5.2.1建立一個類,類名:mailtest
• 類圖如下:
import java.util.Scanner;
//5、解析一個郵箱地址是否合法,如果合法則打印出使用者名稱部分和該郵箱所屬的網站域名,如果郵箱地址不合法則顯示不合法的原因 [選做題]
//• 5.1 提示:郵箱地址不合法的因素:
//• 5.1.1郵箱地址中不包含@或.
//• 5.1.2郵箱地址中含有多了@或.
//• 5.1.3郵箱地址中.出現在@的前面
//• 5.1.4使用者名稱裡有其他字元
//• 5.2實現步驟:
//• 5.2.1建立一個類,類名:mailtest
public class MyEmil {
public static void main(String[] args) {
System.out.println("請輸入一個郵箱地址……");
Scanner in = new Scanner(System.in);
String str = in.nextLine();
if(TestMail(str) == true){
}else{
System.out.println("不合法");
}
}
public static boolean TestMail(String str){
boolean b = true;
if(str.indexOf('@') == -1 || str.indexOf('.') == -1){
System.out.println("郵箱地址中不包含@或.");
return false;
}
if(str.indexOf('@') != str.lastIndexOf('@') ||str.indexOf('.') != str.lastIndexOf('.')){
System.out.println("郵箱地址中含有多了@或.");
return false;
}
if(str.lastIndexOf('@') > str.indexOf('.')){
System.out.println("郵箱地址中.出現在@的前面");
return false;
}
for(int i = 0;i<str.indexOf('@');i++){
char c = str.charAt(i);
if( (c>=4&&c<=57) || (c>=65&&c<=90) || (c>=97&&c<=122) ){
}else{
System.out.println("郵箱使用者名稱包含非法字元");
return false;
}
}
String[] array = str.split("@");
System.out.println("使用者名稱為:"+array[0]);
System.out.println("該郵箱所屬的網站域名為"+array[1]);
return true;
}
}
• 6、分別在控制檯輸入字串和子字串,並計算字串中子字串出現的次數。 [選做題]
import java.util.Scanner;
//分別在控制檯輸入字串和子字串,並計算字串中子字串出現的次數。 [選做題]
public class MyCount {
public static void main(String[] args) {
MyCount();
}
public static void MyCount(){
System.out.println("請輸入一個字串");
Scanner in = new Scanner(System.in);
String str = in.next();
System.out.println("請輸入需要統計的子字串");
String str1 = in.next();
String str2 = "";
int sum = 0;
for(int i = 0;i<str.length();i++){
if(str.charAt(i) == str1.charAt(0)){
for(int j = i;j<str1.length();j++){
str2 = str2 + str.charAt(j);
}
sum++;
i=i+str2.length()-1;
}
}
System.out.println("字串\""+str+"\"中有"+sum+"個\""+str1+"\"");
}
}
• 7、有一個字串,其中包含中文字元、英文字元和數字字元,請統計和打印出各個字元的個數。 [選做題]
import java.util.Scanner;
public class MyGroup {
public static void main(String[] args) {
MyGroup();
}
public static void MyGroup(){
int sum1 = 0;
int sum2 = 0;
int sum3 = 0;
System.out.println("請輸入一個字串");
Scanner in = new Scanner(System.in);
String str = in.nextLine();
for(int i = 0 ;i<str.length();i++){
if(str.charAt(i) >=0x30 && str.charAt(i) <=0x39){
sum1++;
}
if((str.charAt(i) >=0x61 && str.charAt(i) <=0x7a)||(str.charAt(i) >=0x41 && str.charAt(i) <=0x5a)){
sum2++;
}
if(str.charAt(i)>0x0391 && str.charAt(i) <= 0xFFE5){
sum3++;
}
}
System.out.println("字串\""+str+"\"中有\n"+sum1+"個數字字元,有"+sum2+"個英文字元"+sum3+"箇中文字元");
}
}
• 8、有一種數叫回文數,正讀和反讀都一樣,如12321便是一個迴文數。編寫一個程式,從命令列得到一個整數,判斷該數是不是迴文數。 [選做題]
import java.util.Scanner;
public class MyNum {
public static void main(String[] args) {
System.out.println("請輸入一個數……");
Scanner in = new Scanner(System.in);
int num = in.nextInt();
if(MyNum(num)==true){
System.out.println(num+"是迴文數");
}else{
System.out.println(num+"不是迴文數");
}
}
public static boolean MyNum(int num){
// 將數字轉化成字串
String str = String.valueOf(num);
boolean b = true;
// 從兩端向中間遍歷字串,並進行迴文數條件判斷
for(int i = 0,j = str.length()-1;i<str.length()/2 ;i++,j--){
if(str.charAt(i) != str.charAt(j) ){
b = false;
break;
}
}
return b;
}
}
相關推薦
JavaSE高階應用程式設計——工具類練習題
1、 編寫一個程式,實現從命令列引數輸入兩個字串型別的數值,並計算輸出兩個數值的和。 [必做題] //編寫一個程式,實現從命令列引數輸入兩個字串型別的數值,並計算輸出兩個數值的和。 [必做題] import java.util.Scanner; publi
工具類——練習題
本章實戰專案任務 完成跨境電商專案商品保質期計算功能如下: *輸入日期格式字串作為商品的生產日期,輸入保質期(天);計算截止到今天,該商品還有多少天會過期 import java.text.ParseException; import java.text.SimpleDateForm
快速建立SpringBoot2.x應用之工具類自動建立web應用、SpringBoot2.x的依賴預設Maven版本
快速建立SpringBoot2.x應用之工具類自動建立web應用簡介:使用構建工具自動生成專案基本架構 1、工具自動建立:http://start.spring.io/ 2、訪問地址:http://localhost:8080/ 開始下載,解壓,匯入Maven專案 匯入後:
Java高階應用程式設計——集合
一、Java中的集合類 集合概述 Java中集合類是用來存放物件的 集合相當於一個容器,裡面包容著一組物件 ————容器類 其中的每個物件作為集合的一個元素出現 Java API提供的集合位於java.util包內 j
Android 判斷手機有沒有安裝該應用的工具類
public class AppInstallUtils{ private static List<PackageInfo> cachedList; private static long lastDetectTime = 0; /** * 判斷是否安裝
javaSE高階開發之集合類——棧與佇列
一、棧 package com.wschase.hashmap; import java.util.Stack; /** * Author:WSChase * Created:2019/1/7 */ ////一、棧--》先進後出 // //在生活中有很多這樣的例子,就是先
JAVA高階應用之異常類處理
異常分類 Throwable(異常最頂端的類) Error(伺服器奔潰 資料庫奔潰) Exception(異常類) RunTimeException 解決異常
Python高階應用程式設計任務
Python高階應用程式設計任務要求 用Python實現一個面向主題的網路爬蟲程式,並完成以下內容:(注:每人一題,主題內容自選,所有設計內容與原始碼需提交到部落格園平臺) 一、主題式網路爬蟲設計方案(15分) 1.主題式網路爬蟲名稱 名稱:爬取攜程網站泉州地區酒店資訊 2.主題式網路爬蟲爬取的
高併發程式設計系列:4大併發工具類的功能、原理、以及應用場景
通常我們所說的併發包也就是java.util.concurrent,集中了Java併發工具類和併發容器等,今天主要介紹Java併發程式設計的工具類,我先從Java併發工具包談起。 01 — 併發工具包涵蓋範圍 1.併發工具類 提供了比synchronized更加高階
java基礎之JDBC三:簡單工具類的提取及應用
註冊 args 釋放資源 file void tex 用戶名 SQ lose 簡單工具類: public class JDBCSimpleUtils { /** * 私有構造方法 */ private JDBCSimpleU
Java 高級應用編程 第一章 工具類
創建 類名 www 完成 安全 註意 容量 lan 地址 一、Java API Java API簡介 1、API (Application Programming Interface) 應用程序接口 2、Java中的API,就是JDK提供的各種功能的Ja
Java併發程式設計的藝術之八----java中的併發工具類
1.等待多執行緒完成的countDownLatch CountDownLatch允許一個或多個執行緒等待其他執行緒完成操作。 執行緒中,讓一個執行緒等待最簡單的做法是使用join方法,執行緒A中呼叫B.join方法,說明讓執行緒A等待執行緒B完成之後再執行。 實現原理:不停檢查執行緒是否
JavaEE程式設計實驗 實驗1 Java常用工具類程式設計(未完成)
1.使用String類分割split將字串“Solutions to selected exercises can be found in the electronic document The Thinking in Java Annotated Solution Guide,available for a
BeanUtil工具類簡介及應用
概述 BeanUtils工具是Apache Commons元件的成員之一,主要用於簡化JavaBean封裝資料的操作。 使用的好處:BeanUtils給物件封裝引數的時候會進行型別自動轉換。 Apache Common BeanUtil是一個常用的在物件之間複製資料
JsonUtil工具類簡介及應用
專案中經常會有String轉Object以及Object轉Json字串的等其他的轉化需求,合理的使用Json工具類會很方便轉換。 JsonUtil.java應用 —— toList Map dataMap = returnResul
第二天 : AOP 面向切面程式設計 、 JdbcTemplete 工具類使用
AOP 面向切面程式設計 、 JdbcTemplete 工具類使用 目錄 一、 什麼是 AOP ***** 二、 AOP 的底層實現 1、 JDK動態代理 2、 使用CGlib 完成動態代理 三、 Spring AOP 1、 傳統Spring AOP 提供
javaSE之面向物件程式設計->類與物件(上)——1 and 2
一、面向物件程式設計的簡介 在C語言的學習中我們所有的程式風格都是面向過程的,也就是比如兩個數相加這個程式段需要多次執行那麼我們在C語言中只能通過程式碼的賦值貼上才可以辦到,但是我們在面向過程程式設計裡面也有這樣類似的思想,就是函式。在java中我們採用面向物件的方法,就是可以將程式碼的可重
ubuntu16.04程式設計軟體之工具類
zsh 安裝zsh + zsh 相容bash + zsh 官網:Zsh + 檢視CentOS已安裝的shell cat /etc/shells 正常結果應該是這樣的: /bin/sh /bin/bash /sbin/nologin /bin/dash /bin/tcsh /bin/csh + 檢視