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中实现一个简单的程序来计算一组整数中除最大值外其他值的总和。