1. 如何用java或C語言編寫數字鍾表程序:按實時顯示年月日時分秒,並可調整
在編程的世界裡,創建一個數字鍾表程序是一件既有趣又能鍛煉編程技能的事情。下面是一個使用Java編寫的簡單示例,它能實時顯示年月日時分秒,並支持時間調整。
首先,我們需要導入一些必要的包,如java.awt、javax.swing等。這些包提供了圖形用戶界面的相關功能,例如畫圖、窗口管理等。
接下來,定義一個介面Hand,它包含了獲取指針位置的方法。然後,我們創建了三個類來分別表示秒針、分針和時針。每個類都實現了Hand介面,並根據當前時間計算指針的位置。
為了簡化起見,我們只關注繪制功能。在Clock類中,我們定義了一個面板,用於繪制時鍾。通過繼承JPanel類,我們可以重寫paint方法來自定義繪制內容。
在paint方法中,我們首先設置背景顏色為黑色,然後獲取當前時間,並創建一個GetTime對象來存儲這些信息。接著,我們繪制時鍾的邊框,並根據當前時間計算三個指針的位置,最後將它們繪制到面板上。
為了保持時鍾的實時性,我們使用了Timer類來安排任務每隔一秒重新繪制一次。這樣,時鍾就能實時顯示當前的時間。
最後,我們在主類TimerTest中創建了多個Clock對象,每個對象代表一個不同的時區。通過調整時差參數,我們可以顯示不同城市的時間。
以上就是使用Java編寫的數字鍾表程序的基本框架,通過調整代碼可以實現更多功能,例如增加日期顯示、時區調整等。
2. java語言中編程求解兩個字元串最長相同字元串的長度
public class StringTest4 {
/**
* @param args
*/
public static void main(String[] args) {
/*
* 需求4:兩個字元串的最大相同子串。
* "sadfcctvghjkl"
* "zxcctvcv"
*
* 思路:
* 1,以短的字元串為主。
* 到長的字元串中去判斷是否存在,如果存在,已找到。
* 2,如果沒有找到。將短的字元串的長度遞減獲取子串繼續到長的串中查找。只要找到就結束。
* 3,沒有找到,說明沒有相同的。
*
*/
String s1 = "sadfcctvghjkl";
String s2 = "zxcctvcv";
String maxSub = getMaxSubString(s2,s1);
System.out.println("maxsub="+maxSub+" length="+maxSub.length());
}
public static String getMaxSubString(String s1, String s2) {
//確定哪個是長的哪個是短的。
String longStr,shortStr;
longStr = s1.length()>s2.length()?s1:s2;
shortStr = s1.equals(longStr)?s2:s1;
// System.out.println("long:"+longStr);
// System.out.println("short:"+shortStr);
//對短的字元串操作,從短串中取子串,到長字元串中判斷,是否存在。
for(int x=0; x<shortStr.length(); x++){
for(int y=0,z=shortStr.length()-x; z<=shortStr.length(); y++,z++){
//根據y,z,獲取子串。
String temp = shortStr.substring(y,z);
// System.out.println(temp);
if(longStr.contains(temp))
return temp;
}
}
return null;
}
}
3. Java編程求和:輸入一組整數,求除最大數之外其它數的和
在Java編程中,我們可以通過輸入一組整數,來計算除了最大數之外其他數的總和。下面是一個簡單的示例,展示了如何實現這個功能。
首先,我們需要導入Scanner類,用於從控制台讀取輸入數據。然後定義一個類Test,其中包含main方法。
在main方法中,我們定義了一個整數數組arr,用於存儲輸入的整數。我們還需要兩個整數變數:size用於存儲數組大小,max用於存儲當前已知的最大值,sum用於計算所有非最大值的總和。
通過Scanner對象從控制台讀取用戶輸入的整數個數,並將其存儲在變數size中。然後,我們創建一個大小為size的整數數組。
接下來,我們使用for循環遍歷數組,通過比較每個元素與max的值來更新max。同時,我們累加所有元素的值到sum。
在循環結束後,我們從sum中減去最大值max,以計算除最大值外其他值的總和。
最後,我們使用一個for循環輸出數組中的所有整數,並在每行輸出九個整數後換行。然後,我們使用System.out.printf輸出計算出的總和。
以下是一個簡單的示例輸出:
請輸入一組整數的個數:12
No. 1 : 1 No. 2 : 2 No. 3 : 3 No. 4 : 4 No. 5 : 5 No. 6 : 6 No. 7 : 7 No. 8 : 8 No. 9 : 9 No.10 : 10 No.11 : 11 No.12 : 12
所有整數一覽:1 2 3 4 5 6 7 8 9 10 11 12
除最大元素外其他元素之和為:66
通過這個示例,我們可以看到如何在Java中實現一個簡單的程序來計算一組整數中除最大值外其他值的總和。