用java代码将1到1000的奇数打出来

作者&投稿:濯磊 (若有异议请与网页底部的电邮联系)
将1到1000的奇数打印出来。用JAVA写~

System.out.println("i"=+i);
这句错了,要把=号放在引号里,后面的+i是得到i的值,你在前面加个=当然出错.再说你这样也不是求奇数的呀.
这里是1-1000的奇数,顺便加个功能,隔10个结果换行显示,要不然看晕掉:

public class test14
{
public static void main (String[]args)
{
int j=0;
for(int i=1;i<1000;i+=2)
{
j=j+1;
System.out.print("i="+i);
System.out.print(" ");
if(j%10==0)//10个换行
{System.out.println();}
}
}
}

public class Odd
{
public static void main(String args[])
{
for(int i=1;i<=1000;i++)
{
if(i%2!=0)
{
System.out.println(i);
}
}

}
}

这是一个java基础题

    虽然基础,但是我们练习的时候,可以加以拓展和优化,熟悉for循环 while循环, 了解运算符优先级,   加强对业务逻辑的分析处理,强化写代码的能力。


首先代码的写法是多样的

1.根据奇数定义 :   不能被2所整除的数是奇数

根据这个定义,我们可以写一个最基础的版本

public class Odd1 {
public static void main(String[] args) {
for (int i = 1; i < 1000; i++) {//1~1000之间 循环1000次
if(i%2!=0){  //不能被2整除的
System.out.println(i);//就是奇数,打印出来
}
}
}
}

分析下,这个版本,我们发现这个版本性能可能比较低

        因为要循环1000次,并且每次还要进行一次求余运算。所以性能低。

        有没有改进的空间?


2.   我们继续对奇数进行了解(对业务进行熟悉)。还有改进的空间

然后发现: 偶数可用2k表示,奇数可用2k+1表示,这里k是整数。

代码修改如下

public class Odd2 {
public static void main(String[] args) {
for (int k = 0; k < 500; k++) {//循环减少为500次
System.out.println(k*2+1);//按照奇数公式进行输出
}
}
}


3.  继续优化.   java中乘法是性能消耗比较大的运算,  如果可以使用移位操作 ,  那么使用移位操作代替乘法

因为使用移位的操作将会更快和更有效

public class Odd3 {
public static void main(String[] args) {
for (int k = 0; k < 500; k++) {
System.out.println((k<<1)+1);//移位操的优先级低于四则运算, 所以用括号括起来优先计算 , 左移1位.相当于*2
}
}
}


4.  查看奇数的特性  , 来探索其他写法

    奇数1、3、5、7、9、11、13、15、17、19、21、23、25、27、29、31、33.........

    每个奇数的间隔是2, 第一个奇数是1

    代码如下

public class Odd4 {
public static void main(String[] args) {
for (int i = 1; i < 1000; i+=2) {//从1开始,每次自加2
System.out.println(i);
}
}
}


5. 除开for循环,  while循环也可以写.  

public class Odd5 {
public static void main(String[] args) {
int i = 1;
while (true) {
if (i >= 1000) {
break;//跳出循环
}
System.out.println(i);
i = i + 2;
}
}
}

6  再次修改,如果业务逻辑 从1~1000修改成其他数字了, 那么在循环体中修改不是特别合适

所以需要定义成2个变量. 来记录开始的数字和结束的数字.  并且如果输出太多的数字, 不方便查看,  那么需要美化下输出的格式

public class Odd6 {
public static void main(String[] args) {
int start = 1; //开始的数
int end = 1000; //结束的数
int index =0;//用于换行处理的计算
for (int n = start; n < end; n += 2) {
index++;
System.out.print(n+"");//  表示制表符  ,这样数字看起来排列比较整齐
if(index%10==0){//每10个数字,换一行
System.out.println();
}
}
}
}



public class Printer
{
public static void main(String[] args)
{
for(int n=1;n<=1000;n++){
if(n%2!=0)
{
System.out.println(n);

}

}

}

}

您好,代码实现如下:

package com.baidu;

public class Test {

public static void main(String[] args) {

for(int i=1;i<1000;i++){
System.out.println(i);
i++;

}
}
}
不懂了再问我

java编写一个“猜数”程序:该程序随机在1到1000的范围中选择一个供...
答:Java源程序附后。本程序的特点是:(1) 文本框只能输入纯数字;(2) 界面较美观;(3) 代码可读性较好,有适当的注释;(4) 窗体一出现就在桌面居中。import java.awt.*;import java.awt.event.*;import java.util.*;import javax.swing.*;public class GuessNumber { private static final long ...

java输出1到1000的整数,不能用循环,If语句
答:递归需要用到if大虾 编程一共就3种结构 顺序 选择 和循环 不能用选择 和循环的和你就这样 绝对简单 class a { public static void main(String[] args){ System.out.print("1");System.out.print("2")System.out.print("3")...System.out.print("1000");} } ...

用java(最好是netbeans)编制一个程序,创建10个线程,用于求解1~1000的...
答:以下是代码及在netbeans6.8中运行的结果 public class MyThread{ public static void main(String args[]){ for(int i=1;i<1001;i+=100)new TestThread(i,i+99).start();System.out.println("1-1000的和是:"+TestThread.sum);} } class TestThread extends Thread { public static...

java输出1到1000的和,要用while语句。
答:int i = 1;int sum = 0;while(i <= 1000) { sum += i;}System.out.println("1到1000的和:" + sum);

求(java使用while计算1到1000的总和)的代码
答:public class test {public static void main(String[] args) {int i=1;int sum=0;while (i < 1000) {sum+=i;i++;}System.out.println(sum);}}

使用while循环语句计算从“1”加到“1000”的和。注意只输出结果即可...
答:public class Sum { public static void main(String[] args) { int sum = 0;int i = 1;while (i <= 1000) { sum += i;i++;} System.out.println(sum);} }

用java在1到100000之间生成1000个不重复的数并排序存入数组中,求大神...
答:import java.util.Arrays;import java.util.Random;public class Test { public static void main(String[] args) { Random ran = new Random(); int[] arr = new int[1000]; // 生成1000个不重复的随机数保存到数组 outer:for (int i = 0; i < 1000; i++) { //...

如何使用Java语言实现随机产生n个1-1000之间的整数,急!!!
答:int a= 0;a = (int) (Math.random()() * 1000);//这个地方不能写成(int)Math.random()()这是最大的错误 } 把这个复制到main方法就可以了。你试试

编写一个JAVA程序。使用while循环计算从 1 到 1000 的所有数字之和...
答:int i= 1;while(i<=1000){ sum+=i; i++;} 这段代码插进中间去就可以了

用java编写一个方法用于产生1到1000之间的随机数
答:Random random = new Random();int i = random.nextInt(1000);提示: nextInt(1000); 表示产生一个随机数,这个随机数是 0-999 即不包含1000本身。