189 8069 5689

java正确代码 java示例代码

这段循环遍历时间的java代码,怎么改才是正确的呢?

你把天数加上1的上面那一行代码注释取消掉改成 System.out.println(sdf.format(tmp)); 就行了啊....

创新互联建站长期为上1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为良庆企业提供专业的网站设计、成都网站制作,良庆网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。

你要显示每一天 那肯定得把打印代码写在循环里面呀 或者在循环里面把每一天都拼接在一起 最后return ,你目前把循环输出给注释掉了,然后又只return了最后一天的字符串回去 那当然只打印最后一天。

你要不就把那行代码取消了 ,要不就先声明一个String用来接收循环拼接完的日期最后return回去

这段java代码,照葫芦画瓢写的。正确的,但是某些地方看不懂

代码是从上到下运行的

一、前面的x已经被赋值为整型了,数据类型只要赋值一次就行了,所以后面的x都不用赋值了;

二、while(x!=password){

System.out.println("pleas input the password");

x=sc.nextInt();

}

判断条件是 x != password,只要输入的数据不等于password,也就是20030708,就会一直进入while循环,直到password正确才不进入,然后输出correct,结束程序;

三、代码是从上至下运行的,Scanner sc=new Scanner(System.in)一定是要在int x=sc.nextInt()前面的,因为要先新建一个Scanner类,后面才能引用;

System.out.println("pleas input the password")意思输出到控制台,所以顺序放哪都行,只是它输出pleas input the password,提醒你下一步要输入密码,放在int x=sc.nextInt()前面起到提醒你输入的作用;

x = sc.nexInt(),接收键盘输入赋值给x,然后回到while循环的判断条件x != password ,如果输入的不等于20030708,就再重新接收键盘输入,然后重新赋值给x,一直循环,直到x等于20030708才不循环了;

Scanner是Java中接收键盘输入的一个类;

sc.nextInt, sc 是你新建Scanner类的实例;nextInt是Scanner中的一个方法,意思接收下个输入的Int类型数据;sc.nextInt意思是sc这个实例调用nextInt这个方法

求java快速排序的正确代码

一趟快速怕序的具体做法是:附设两个指针low和high,他们的初值分别为low和high,设枢轴记录的关键字为privotkey,则首先从high所指位置向前搜索找到第一个关键字小于pivotkey的记录和枢轴记录互相交换,然后从low所指向的位置起向后搜索,找到第一个关键字大于privotkey的记录和枢轴记录互相交换,重复这两步直至low==high位置.

import java.util.concurrent.Executor;

import java.util.concurrent.ExecutorService;

import java.util.concurrent.Executors;

public class 快速排序_1 {

public static void main(String[] args) throws InterruptedException {

int test[] = {15,23,56,7,13,52,20,7};

new 快速排序_1().qSort(test, 0, test.length-1);

for(int k:test) System.out.println(k);

}

public void qSort(int []array,int low,int high){

if(low

int privot=partition(array,low,high);

qSort(array,low,privot-1);

qSort(array,privot+1,high);

}

}

public int partition(int [] array,int low,int high){

/**

* 选择 low位置 作为曲轴(支点)

*/

int pivot=array[low];

int temp=0;

/**

* 如果 low

*/

while(low

/**

* 先从 high端 开始判断

*/

while(low=pivot) high--;

/**

* 进行 置换操作

*/

if(low

array[low]=array[high];

low++;

}

/**

* 从 low 端判断

*/

while(low

/**

* 进行 置换操作

*/

if(low

array[high]=array[low];

high--;

}

}

array[low]=pivot;

return low;

}

}

一道java算法题提供了正确代码,不知道是不是我理解错误运行结果并不是最大值?

首先理解下题意,关键是连续的子数组,比如{1,2,-1} ,连续的子数组包括{1}、{2}、{-1}、{1,2}、{2,-1}、{1,2,-1}

其次是求各子数组和的最大值,上面的算法求最大值分两部分,循环遍历所有值

curSum :用于某一个子数组的累加和

curMaxSum:用于记录历史最大累加和

上面算法的start和end其实没用,本意是找出具体子数组,但上面算法部分情况下是无法实现的

@Test

public void test(){

//  int[] num = {1,-2,3,10,-4,7,2,-5};

//int[] num = {1,-2,3,10,-4,10,2,-5};

int[] num = {-1,-2,3,4,-5,-6,-7};

System.out.println(maxSum(num));

}

public int maxSum(int[] num){

int curSum = 0;

int curMaxSum = -99999999;

int finalStart = 0;

int finalEnd = 0;

int start = 0;

for(int i=0;inum.length;i++){

if(curSum=0){

curSum = num[i];

start = i;

}

else{

curSum += num[i];

}

if(curSumcurMaxSum){

finalStart = start;

finalEnd = i;

curMaxSum = curSum;

}

}

for(int i = finalStart;i=finalEnd;i++){

System.out.println(num[i]);

}

return curMaxSum;

}


网站栏目:java正确代码 java示例代码
标题路径:http://cdxtjz.com/article/hpegsh.html

其他资讯