求大神帮忙注释一下以下Java代码,到时候答辩老师要问的
publicclassClock{publicstaticvoidmain(Stringargs[]){ClockViewcv=newClockView();cv.set...
public class Clock {
public static void main(String args[]) {
ClockView cv = new ClockView();
cv.setVisible(true);
try {
for(;;) {
cv.refreshTimeDisplay();
Thread.sleep(500);
}
}catch (Exception e)
{System.out.println("Error:"+e);}
}
}
class ClockView extends javax.swing.JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
private javax.swing.JLabel tLabel = new javax.swing.JLabel();
ClockView()
{this.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
this.setSize(95,45);
this.getContentPane().add(tLabel);
this.refreshTimeDisplay();
}
protected String getDigitsAsString(int i) {
String str = Integer.toString(i);
if(i<10) str="0"+str;
return str;
}
public void refreshTimeDisplay() {
Timestamp t= new Timestamp();
t.fillTimes();
String display = getDigitsAsString(t.hrs) + ":" + getDigitsAsString(t.mins) + ":" + getDigitsAsString
(t.secs);
tLabel.setText(" "+ display);
tLabel.repaint();
}
}
class Timestamp {
int hrs,mins,secs ;
void fillTimes() {
java.util.Calendar now ;
now = java.util.Calendar.getInstance() ;
hrs = now.get(java.util.Calendar.HOUR_OF_DAY);
mins = now.get(java.util.Calendar.MINUTE);
secs = now.get(java.util.Calendar.SECOND);
}
} 展开
public static void main(String args[]) {
ClockView cv = new ClockView();
cv.setVisible(true);
try {
for(;;) {
cv.refreshTimeDisplay();
Thread.sleep(500);
}
}catch (Exception e)
{System.out.println("Error:"+e);}
}
}
class ClockView extends javax.swing.JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
private javax.swing.JLabel tLabel = new javax.swing.JLabel();
ClockView()
{this.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
this.setSize(95,45);
this.getContentPane().add(tLabel);
this.refreshTimeDisplay();
}
protected String getDigitsAsString(int i) {
String str = Integer.toString(i);
if(i<10) str="0"+str;
return str;
}
public void refreshTimeDisplay() {
Timestamp t= new Timestamp();
t.fillTimes();
String display = getDigitsAsString(t.hrs) + ":" + getDigitsAsString(t.mins) + ":" + getDigitsAsString
(t.secs);
tLabel.setText(" "+ display);
tLabel.repaint();
}
}
class Timestamp {
int hrs,mins,secs ;
void fillTimes() {
java.util.Calendar now ;
now = java.util.Calendar.getInstance() ;
hrs = now.get(java.util.Calendar.HOUR_OF_DAY);
mins = now.get(java.util.Calendar.MINUTE);
secs = now.get(java.util.Calendar.SECOND);
}
} 展开
2个回答
展开全部
public class Clock {
public static void main(String args[]) {
ClockView cv = new ClockView(); //声明并初始化一个ClockView 对象
cv.setVisible(true); //设置窗体可见(默认是隐藏不可见的)
try { //捕获异常代码块
for(;;) { //死循环
cv.refreshTimeDisplay(); //调用刷新时间方法
Thread.sleep(500); //每循环一次休眠500毫秒,也就是0.5秒刷新一次时间
}
}catch (Exception e)
{System.out.println("Error:"+e);} //打印出异常信息
}
}
class ClockView extends javax.swing.JFrame { //定义一个继承自JFrame的类
/**
*
*/
private static final long serialVersionUID = 1L;
private javax.swing.JLabel tLabel = new javax.swing.JLabel(); //声明并初始化一个标签
ClockView() //构造方法
{
//设置JFrame窗体点关闭按钮时退出程序
this.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
this.setSize(95,45); //设置窗体大小
this.getContentPane().add(tLabel); //将标签加入到窗体中
this.refreshTimeDisplay();
}
protected String getDigitsAsString(int i) {
String str = Integer.toString(i);
if(i<10) str="0"+str;
return str;
}
public void refreshTimeDisplay() { //刷新时间的方法
Timestamp t= new Timestamp(); //创建时间戳对象
t.fillTimes(); //调用filleTimes方法获取当前时间时分秒
String display = getDigitsAsString(t.hrs) + ":" + getDigitsAsString(t.mins) + ":" + getDigitsAsString //拼接字符串显示当前时间
(t.secs);
tLabel.setText(" "+ display); //将当前时间设置在标签中显示
tLabel.repaint(); //面板重绘以便刷新时间
}
}
class Timestamp { //时间戳相关的类
int hrs,mins,secs ; //定义整型 小时 分钟 秒
void fillTimes() {
java.util.Calendar now ; //声明一个日历对象,没有初始化
now = java.util.Calendar.getInstance() ; //初始化日历对象now
hrs = now.get(java.util.Calendar.HOUR_OF_DAY); //获取当前时间小时数
mins = now.get(java.util.Calendar.MINUTE); //获取当前时间分钟数
secs = now.get(java.util.Calendar.SECOND); //获取当前时间秒钟数
}
}
2016-06-28
展开全部
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(void)
{
char A[20],B[20];//定义字符串数组
int i,l,m,n,o;
o=0;//初始化o
for(i=0;i<=70;i++)//循环打印字符‘-’71个
{
printf("%c",'-');
}
printf("\n本程序将把一串字符里指定位置的指定长度倒叙排列后重新编制在原字符串中。\n");//打印一行字,打印前与上一行分开
for(i=0;i<=70;i++)//继续循环打印字符一行
{
printf("%c",'-');
}
printf("\n**请输入一个字符串**\n");
gets(A);//输入字符串
n=strlen(A);//获取刚刚获取的字符串A的长度
printf("\n**请输入起始位置**\n");
scanf("%d",&l);//输入要转换的起始位置
if(l>=n)//判断如果输入的起始位置大于字符串总长度则报错,并退出
{
printf("\n输入位置错误!\n");
exit(0);
}
printf("\n**请输入变换长度**\n");
scanf("%d",&m);//输入要变换的长度
if(l-1+m>=n)//判断转换的末尾位置是否合法,不合法则报错并退出
{
printf("\n输入位置错误!\n");
exit(0);
}
printf("\n原字符串为: %s \n",A);//打印原来输入的字符串A
for(i=l+m-1;i>l-1;i--)//倒序循环访问A中的字符并将其正序存储到字符串到B字符数组中
{
B[o]=A[i-1];
o=o+1;//数组的下标o变化
}
for(i=0;i<m;i++)//修改A中从位置l-1到l-1+m的字符,使用B中的字符依次代替
{
A[l-1+i]=B[i];
}
printf("\n新字符串为: %s \n",A);//输出按照规定翻转的字符串
}
#include<string.h>
#include<stdlib.h>
int main(void)
{
char A[20],B[20];//定义字符串数组
int i,l,m,n,o;
o=0;//初始化o
for(i=0;i<=70;i++)//循环打印字符‘-’71个
{
printf("%c",'-');
}
printf("\n本程序将把一串字符里指定位置的指定长度倒叙排列后重新编制在原字符串中。\n");//打印一行字,打印前与上一行分开
for(i=0;i<=70;i++)//继续循环打印字符一行
{
printf("%c",'-');
}
printf("\n**请输入一个字符串**\n");
gets(A);//输入字符串
n=strlen(A);//获取刚刚获取的字符串A的长度
printf("\n**请输入起始位置**\n");
scanf("%d",&l);//输入要转换的起始位置
if(l>=n)//判断如果输入的起始位置大于字符串总长度则报错,并退出
{
printf("\n输入位置错误!\n");
exit(0);
}
printf("\n**请输入变换长度**\n");
scanf("%d",&m);//输入要变换的长度
if(l-1+m>=n)//判断转换的末尾位置是否合法,不合法则报错并退出
{
printf("\n输入位置错误!\n");
exit(0);
}
printf("\n原字符串为: %s \n",A);//打印原来输入的字符串A
for(i=l+m-1;i>l-1;i--)//倒序循环访问A中的字符并将其正序存储到字符串到B字符数组中
{
B[o]=A[i-1];
o=o+1;//数组的下标o变化
}
for(i=0;i<m;i++)//修改A中从位置l-1到l-1+m的字符,使用B中的字符依次代替
{
A[l-1+i]=B[i];
}
printf("\n新字符串为: %s \n",A);//输出按照规定翻转的字符串
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |