Board logo

标题: 懂编程的大哥大姐进来看下 [打印本页]

作者: flywithhide    时间: 2010-3-1 15:51     标题: 懂编程的大哥大姐进来看下

class Schleife{
static void schleifenMethode(int a){
  for (int i=0;i<5;i++){
     for (int j=0;j<5;j++){
        System.out.print(a+/t);
            a++;}
               System.out.println();
                         }
  public static void main(String args[]){
       int a=1;
System.out.println();
schleifenMetode (a);
}
}
第一问,这个程序表达了什么
第二问,为什么schleifenMethode(int a)和main  Methode 中的int a同名呢
我还有个问题。。这个程序里的i,j和a有什么关系,还有scleifenMethode 是什么。。这个没查到。。
作者: tianji    时间: 2010-3-1 16:09

JAVA吧 帮顶
作者: flywithhide    时间: 2010-3-1 16:17

{:5_107:}有会的同学讲解下。。是在不明白的说。。
作者: tianji    时间: 2010-3-1 16:18

看了下 不是很难 呵呵 我试着解答下
i,j,a 都是变量
i,j作用是循环 a是‘Schleifenmethode’这个method的变量 应该说i,j 和 a没有直接关系
for (int i=0;i<5;i++){
     for (int j=0;j<5;j++){           ////////i,j分别作0-4的循环
System.out.print(a+/t);
            a++;}                            //////// a的值累加

scleifen我查到的是研磨的意思(drill之类的)
作者: flywithhide    时间: 2010-3-1 16:22

{:5_121:} 那这个程序输出了什么内。。还是米搞明白的说,不过先谢了 4# tianji
作者: tianji    时间: 2010-3-1 16:23

前半部分算是对method如何执行的编程,从public static void ...这行开始,算是一个test program。也就是赋给schleifenmethode函数 a(变量)的值,然后开始运行刚才上面的过程,i,j分别从0循环到4,a做累加,最后print a的值
作者: flywithhide    时间: 2010-3-1 16:24

schleife 在java里指的是for()以及后面的这个应用的说。。因为书上写for 是Anweisende Scleife
作者: tianji    时间: 2010-3-1 16:28

本帖最后由 tianji 于 2010-3-1 16:36 编辑

这里就可以回答你的问题了:
第一问,这个程序表达了什么
其实就是个循环,以达到让a累加的目的。另外根据你的程序,这个是要输出1-49这些奇数。
第二问,为什么schleifenMethode(int a)和main  Methode 中的int a同名呢
这里的a只是个变量,可以不同,只要a是整数(int)程序就可以运行。也就是说下面这几句程序,只要schleifenMetode (a)里的a和“  int a=1;”保持一直就行,或者你可以直接运行schleifenMetode (1),结果是一样的
public static void main(String args[]){
       int a=1;
System.out.println();
schleifenMetode (a);
作者: flywithhide    时间: 2010-3-1 16:34

{:5_128:}i和j不显示出来,也和a没关系。。那这2个是干嘛的呢。。。他们的改变和a的改变也没关系。。那这2个家伙在0到4之间循环做什么呢。。
作者: tianji    时间: 2010-3-1 16:39

打个比方给你
循环开始前,i=0时
然后,j=0,j=1,j=2,j=3,j=4 跳出
继续,i=1时
j=0,j=1,j=2,j=3,j=4 跳出
再 i=2时
……
直到i=4时
j=0,j=1,j=2,j=3,j=4,循环结束
明白了吗
作者: flywithhide    时间: 2010-3-1 16:40

{:5_115:}突然明白了点,i和j不用管他们,只管a就好了。。是不是这个意思呢{:5_114:}这为同学真是辛苦你了{:5_135:}
作者: tianji    时间: 2010-3-1 16:43

这个是双循环,如果简单点的单循环,也就是只有一个i, 那么 for (int i=0;i<5;i++) 就是简单的然下面的code (也就是System.out.print(a+/t);  a++;) 循环5次(i=0,i=1,i=2,i=3,i=4)
作者: tianji    时间: 2010-3-1 16:45

i,j就是循环变量,你可以自己把他们写成m,n,l,k任何字母的,和a没有直接的关系,他们就是为了for循环才存在的,循环完了就没他们事儿了
作者: flywithhide    时间: 2010-3-1 16:46

{:5_130:}那他俩在这的循环和a无关把。。a该怎么变还怎么变对吧。。就是i和j就在这自己循环着玩。。不用管他俩。。是这样吧。。。{:5_125:}
作者: 真精不怕火恋    时间: 2010-3-1 16:46

{:5_128:}i和j不显示出来,也和a没关系。。那这2个是干嘛的呢。。。他们的改变和a的改变也没关系。。那这2个家伙在0到4之间循环做什么呢。。
flywithhide 发表于 2010-3-1 16:34

循环变量啊。纯计数用的。
作者: tianji    时间: 2010-3-1 16:48

我运行了下你的程序,其中有些错误 我改正过来了
public class  schleifen{
        static void schleifenMethode(int a){
                  for (int i=0;i<5;i++){
                     for (int j=0;j<5;j++){
                        System.out.print(a++);
                       System.out.print(' ');
                            a++;}
                               System.out.println();
                               }
                  }
                  
                        public static void main(String[] args) {

                       int a=1;
                System.out.println();
                schleifenMethode(a);
                }
               
}
作者: tianji    时间: 2010-3-1 16:49

运行结果是:
1 3 5 7 9
11 13 15 17 19
21 23 25 27 29
31 33 35 37 39
41 43 45 47 49
作者: flywithhide    时间: 2010-3-1 16:49

{:5_115:}谢谢了,明白了。。开始忽略他们俩。。
作者: tianji    时间: 2010-3-1 16:50

{:5_130:}那他俩在这的循环和a无关把。。a该怎么变还怎么变对吧。。就是i和j就在这自己循环着玩。。不用管他俩。。是这样吧。。。{:5_125:}
flywithhide 发表于 2010-3-1 16:46

a该怎么变怎么变,他们之间没有计算关系
作者: 真精不怕火恋    时间: 2010-3-1 17:03

本帖最后由 真精不怕火恋 于 2010-3-1 17:05 编辑
{:5_115:}谢谢了,明白了。。开始忽略他们俩。。
flywithhide 发表于 2010-3-1 16:49


呵呵。比如说下面这个三角形程序,就更是啥关系都没有了。

public class  schleifen{
        static void schleifenMethode(int a){
                  for (int i=0;i<5;i++){
                     for (int j=0;2*i-1;j++){
                        System.out.print('+');
                            a++;}
                               System.out.println();
                               }
                  }
                  
                        public static void main(String[] args) {

                       int a=1;
                System.out.println();
                schleifenMethode(a);
                }
               
}
作者: tianji    时间: 2010-3-1 17:11

20# 真精不怕火恋 for (int j=0;2*i-1;j++){
这句啥意思? 我周四就考JAVA了……
作者: tianji    时间: 2010-3-1 17:12

20# 真精不怕火恋 PS,你不是学经济么,java你也懂 你蹭了多少课啊
作者: 真精不怕火恋    时间: 2010-3-1 17:41

本帖最后由 真精不怕火恋 于 2010-3-1 17:59 编辑
20# 真精不怕火恋  for (int j=0;2*i-1;j++){
这句啥意思? 我周四就考JAVA了……
tianji 发表于 2010-3-1 17:11


若是打印一个用加号打印出来的三角形的话
每行的加号数应该是行数 乘以 2 减 1
那个就是计算每行应该有多少个加号。
不过哦
我这里没有运行环境,其实这个程序应该有错误的。

首先不应该从 0 开始, 0 的那个纯粹白费
另外缺了对格式的计算,因为这个是要打印等腰三角形的。按照刚才那个每行的第一个加号会从第一列开始,变成了一个很奇怪的直角三角形 ...
这样应该好多了。

public class  schleifen{
        static void schleifenMethode(int a){
                  for (int i=1;i<6;i++){
                    for (int k=1;6-i;k++){
                        System.out.print(' ');}
                      for (int j=1;2*i-1;j++){
                        System.out.print('+');
                            a++;}
                               System.out.println();
                               }
                  }
                  
                        public static void main(String[] args) {

                       int a=1;
                System.out.println();
                schleifenMethode(a);
                }
               
}


大概结果是这样子,行数,列数和空格数调下就应该成了。
     +
    +++
   +++++
  +++++++
+++++++++
作者: 真精不怕火恋    时间: 2010-3-1 17:58

20# 真精不怕火恋 PS,你不是学经济么,java你也懂 你蹭了多少课啊
tianji 发表于 2010-3-1 17:12

嗯。呵呵。
不过你们系的考试太难了。当年答了半个小时就缴枪了。
作者: tianji    时间: 2010-3-1 18:31

24# 真精不怕火恋 恩 第二个好多了 不过少了顶角的一个加号 不过不成问题 呵呵 我们系最变态的是有限元 你回头尝试一下??
作者: leexhlee    时间: 2010-3-1 19:01

本帖最后由 leexhlee 于 2010-3-1 19:03 编辑

这个是JAVA? 我怎么看着和C程序没啥区别呀
学了好久的程序,都快忘光了。。。
作者: 真精不怕火恋    时间: 2010-3-1 21:13

24# 真精不怕火恋 恩 第二个好多了 不过少了顶角的一个加号 不过不成问题 呵呵 我们系最变态的是有限元 你回头尝试一下??
tianji 发表于 2010-3-1 18:31


刺激啊! 你自己保重。
作者: 走,结婚去    时间: 2010-3-6 07:02


作者: 过江龙    时间: 2010-3-7 18:20

最简单的办法,弄个测试环境,编译一下,运行一下,就知道结果了。
如果懒的话,自己代几个数进去,就知道结果了~




欢迎光临 人在德国 社区 (http://csuchen.de/bbs/) Powered by Discuz! 7.2