A. 给定两个时间,如:2010-09-01 2010-10-03,现在要遍历出这个时间段的所有日期。使用java。
先把String转为日期类型。日期类型可以转成long,再考虑相邻两天的间隔是多少毫秒,这样就可以遍历了。
B. 在java中怎样用字符串技术获取小时数、分钟数、和秒数
首先,我想说的是其实这样写不太好理解,一般不是这样写的,要写就要写直白点,不但自己懂,被人也好懂的。
其次,举个例子怎样写才容易理解:
核心代码:
date=newDate();
sysDate=String.format("%tY-%tm-%td",date,date,date);
sysTime=String.format("%tH:%tM:%tS",date,date,date);
完整示例:
/*
*Tochangethistemplate,chooseTools|Templates
*andopenthetemplateintheeditor.
*/
packagetestDate;
importjava.util.Date;
/**
*
*@authorStudy
*/
publicclassTestDateToString{
privateDatedate;//声明日期类date
privateStringsysDate;//声明字符串系统日期sysDate
privateStringsysTime;//声明字符串系统时间sysTime
publicTestDateToString(){
date=newDate();
sysDate=String.format("%tY-%tm-%td",date,date,date);
sysTime=String.format("%tH:%tM:%tS",date,date,date);
}
/**
*打印日期
*/
publicvoidprintDate(){
System.out.println("今天日期是:"+getSysDate());
}
/**
*打印时间
*/
publicvoidprintTime(){
System.out.println("现在时间是:"+getSysTime());
}
/**
*测试方法
*@paramargs
*/
publicstaticvoidmain(String[]args){
TestDateToStringnow=newTestDateToString();
now.printDate();
now.printTime();
}
/**
*@returnthesysTime
*/
publicStringgetSysTime(){
returnsysTime;
}
/**
*@returnthesysDate
*/
publicStringgetSysDate(){
returnsysDate;
}
}
最后,解释你的程序。(还有,你写错了,最后打印的是temp,不是“temp”,前者是变量,后者是字符串)
Datedate1=newDate();//声明Date类date1,并创建Date对象为其分配内存
System.out.println("日期及时间是:"+date);//打印"日期及时间是:***",其中***是date1.toString()即当前系统时间,格式如May0816:18:17CST2011
Stringtemp=date1.toString();//声明String类型的temp,它等于date1.toString(),也就是当前时间的字符串形式
temp=temp.substring(11,temp.indexOf('C'));//主要理解这个方法,这个方法其实是String.subString(intbeginIndex,intendIndex)
//也就是将刚才那串字符串截取,怎么截取呢?从第11个字符开始截取(0是第一个字符),截取到'C'字符之前
System.out.println(temp);//打印temp.toString
C. java arraylist 自定义排序(刚学java没搞懂自定义排序,举个例子问一下)在线等挺急的 例子在下面
importjava.util.*;
publicclassExample{
publicstaticvoidmain(Stringarg[]){
ArrayList<String>st=newArrayList<String>(Arrays.asList(("癸,乙,辛,丙,甲,壬,戊,己,丁,庚").split(",")));
for(Stringi:st)
System.out.format("%s",i);
System.out.format(" ");
Collections.sort(st,newComparator<String>(){
StringTemplate="甲乙丙丁戊己庚辛壬癸";
publicintcompare(Strings1,Strings2){
return(Template.indexOf(s1)>Template.indexOf(s2))?1:-1;
}
});
for(Stringi:st)
System.out.format("%s",i);
}
}
自定义排序,这里用的是重写comparator
D. idea中JAVA方法无法引用
idea中写java程序怎么不自动引入jar包事先下载完成需要的javacsv.jar包。java项目在没有导入该jar包之前,点击File-ProjectStructure(快捷键Ctrl+Alt+Shift+s),点击ProjectStructure界面左侧的“Moles”显示下图界面。
用notePad++打开,只是拷个代码,没必要用ide工具;或者直接git上查看复制也行。
导入外部包,addexternaljars...,这种只是与jar包的绝对路径建立链接,并不会拷贝到项目中。导入包,addjars...,这种需要你事先把jar包拷贝到项目中,通过选择项目下的jar,与jar包的相对路径建立链接。
看看类的路径是否正确,不要在java包路径下直接新建类,应该在java包路径下先新建项目目录,再在项目下新建类,这样才是正确的,就可以成功引入了。
只要有一个jar没加载成功,整个项目的jar就不会导入到项目中,这是idea的特点。右面的这个窗口里可以看具体是那个jar出了问题,没有加载成功~当没有红色浪线说明maven加载成功。并且项目下面显示了相应的jar,就成功了。
idear创建java项目是不能调用set方法
并不是每个Java类都要Set或者Get方法。如果只需获取数据,可以只用Get。如果要修改数据可以用Set。构造方法也是可以设置数据的。newBook(x001,java程序设计,舜),这句是通过构造方法设置数据的。
staff[3].setName(Tom);上面这行代码中,staff[3]这个对象没有初始化。Employee[]staff=newEmployee[4];这只是建立了数组的引用,却没有初始化它们。
publicvoidset(Stringstring){this.str=string;}publicStringget(){returnthis.str;}}这就是set和get的最基本用法,例如一个标准的javabean就是所有变量和这些变量的set和get方法组成的。
set”,因此该成员方法通常简称为“set”成员方法。这样可以加强程序的封装性和安全性,外部程序不能直接访问私有变量,只能通过get成员方法和set成员方法读取和设置私有变量的值。
idea新建一个java项目,让我们一起了解一下?idea是java编程语言开发的集成环境,在业界被公认为最好的java开发工具。用idea编写java程序是非常方便的,只需三步即可完成,是工程师的首选。
用idea编写java代码时突然出现的问题求大佬指点IntelliJIDEA自带了一个便利的特性,叫做实时模板(LiveTemplate)。如果你还不知道它是什么:实时模板是一些常用代码段的快捷方式。例如,你键入sout并按下TAB键,IDEA就会插入代码段System.out.println()。更多信息请见这里。
这个是debug的断点调试,你点击的图标是下一步,从断点开始,会按照代码一步步执行的,如果需要直接执行完,就需要跳过当前断点,按快捷键f9,继续执行,进入下一个断点,或执行完程序。
测试本身是成功的,但是测试结果是比较不通过红色标记处,前者比后者多个空格。。
在vc中新建一个空工程,然后就往里面一个一个添加*.cpp和.h文件,最后编译连接就能运行了,你试试看。
遇到了同样的问题,网上的方法都没用。没办法只好卸载idea和jdk,重新安装,删掉环境变量重新配置。
java中无法从静态上下文引用非静态方法由于tostring()方法是非静态的,故不能直接通过类名引用,上面的这句代码:system.out.println(course.tostring());改为system.out.println(cs.tostring());即可。
而非静态变量都是在类加载完成后再赋值的,如果能在静态块中使用非静态变量,就会因为该变量的空指针而抛异常(可能还不只这点问题,只是举个例)。JAVA类的加载机制就决定了无法从静态上下文中引用非静态变量。
input();因为你这里Yuan直接.的意思就是直接引用类Yuan里面的静态方法或者成员变量。而你类Yuan里面是没有静态方法,所以提示这个错误。我估计你是的意思是生成类的对象。
x变量是类read的成员,在静态函数(也就是当前的主函数中)中是不能访问的,为什么呢,因为,成员变量x没有内存空间,一个没有内存的变量是访问不了的,所以才出了这种问题。
静态方法只能调用外部静态变量和静态方法,因为你的main()方法是静态方法,而你想去引用外面定义的非静态变量(i和j)当然就不行了,所以可以将i和j改成静态的或着将i和j的定义方到main方法里面去。
E. java中30秒倒计时(转换成string返回到Label控件的text)
应该是这样吧
import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.Timer;
public class ThirtyCountDown extends JFrame {
private Timer timer;
private JLabel lblTimer;
private int time=30;
private JButton btnStart;
private JButton btnReset;
public ThirtyCountDown(String title) {
super(title);
this.setSize(160, 240);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(new BorderLayout());
lblTimer = new JLabel("- 00 -");
Font font = lblTimer.getFont().deriveFont(20f);
lblTimer.setHorizontalTextPosition(JLabel.CENTER);
lblTimer.setHorizontalAlignment(JLabel.CENTER);
lblTimer.setFont(font);
btnStart = new JButton(" 开始 ");
btnStart.setFont(font);
btnReset = new JButton(" 重来 ");
btnReset.setFont(font);
JPanel pnlButton = new JPanel(new BorderLayout());
this.getContentPane().add(lblTimer, BorderLayout.CENTER);
pnlButton.add(btnStart, BorderLayout.NORTH);
pnlButton.add(btnReset, BorderLayout.SOUTH);
this.getContentPane().add(pnlButton, BorderLayout.SOUTH);
btnStart.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (timer.isRunning()) {
timer.stop();
btnStart.setText(" 开始 ");
btnReset.setEnabled(false);
} else {
timer.start();
btnStart.setText(" 暂停 ");
btnReset.setEnabled(true);
}
}
});
btnReset.setEnabled(false);
btnReset.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
time = 30;
}
});
timer = new Timer(1000, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (time > 9) {
lblTimer.setText("- " + time + " -");
} else {
lblTimer.setText("- 0" + time + " -");
}
if (time == 0) {
timer.stop();
btnStart.setText(" 开始 ");
return;
}
time--;
}
});
setVisible(true);
}
public static void main(String[] args) {
new ThirtyCountDown("倒计时测试");
}
}