黑马程序员技术交流社区

标题: 为什么报错? [打印本页]

作者: 郭佳佳    时间: 2012-8-29 08:34
标题: 为什么报错?
class Program
    {
        //第四题:定义两个变量如:a b分别赋值为10和5,写程序交换两个变量的值。

        static void Main(string[] args)
        {
            int a = 10;
            int b = 5;
            Console.WriteLine("交换前:a={0},b={1}", a, b);//输出交换前的值
            int temp;
            temp = a;
            a = b;
            b = temp;//交换前变量的值
            Console.WriteLine("交换后:a={0},b={1}", a, b);//输出交换后的值
            Console.ReadKey();

        }
    }
}
报错信息为:错误        1        类、结构或接口成员声明中的标记“1”无效       
作者: 许庭洲    时间: 2012-8-29 08:43
本帖最后由 许庭洲 于 2012-8-29 08:48 编辑

分享视频中交换两个变量的值:
using System;
using System.Collection.Gerneric;
using System.Linq;
using System.Text;
namespace Test3
{
      class Program
     {
           static void Main(string[] args)
           {
                 int i1=10;
                 int i2=20;
                 Console.WriteLine("i1={0},i2={1}",i1,i2);
                 int i3;
                 i3 = i1;
                 i1 = i2;
                 i2 = i3;
                 Console.WriteLine("i1={0},i2={1}",i1,i2);
                 Console.ReadLine();
            }
       }
}

找报错原因步骤:
1. 在 Console.WriteLine("i1={0},i2={1}",i1,i2);处设个断点,按F9健;
2. 在 Console.WriteLine("i1={0},i2={1}",i1,i2);处也设个断点,按F9健;
3. 按F5健程序运行到第一个断点,然后逐步执行该程序,按F10健;
4. 分析报错原因,在监视窗口会提示报错内容,修改报错代码即可。

作者: 王杨武    时间: 2012-8-29 08:46
class Program
    {
        //第四题:定义两个变量如:a b分别赋值为10和5,写程序交换两个变量的值。

        static void Main(string[] args)
        {
            int a = 10;
            int b = 5;
            Console.WriteLine("交换前:a={0},b={1}", a, b);//输出交换前的值
            int temp;
            temp = a;
            a = b;
            b = temp;//交换前变量的值
            Console.WriteLine("交换后:a={0},b={1}", a, b);//输出交换后的值
            Console.ReadKey();

        }
    }
}
你这个程序没有问题的呀输出之后的值以对换了。
你重新生成一下解决方案试试。
变量名称最好定义成有意义的名称。可读性高!





未命名.jpg (32.91 KB, 下载次数: 114)

未命名.jpg

作者: 黑马王建伟    时间: 2012-8-29 08:52
本帖最后由 黑马王建伟 于 2012-8-29 08:56 编辑

直接看代码

public class Hello{
public static void main(String[] args) {
  int a=2,b=5;//设定初值
  yihuo(a,b);
  System.out.println("-------------");
  temp(a,b);
}
/*
  * 不用第三方变量直接交换
  */
public static void yihuo(int a,int b){
  a=a^b;//把a与b的异或值赋给a;
  b=a^b;//相当于a^b^b;也就是把a值赋值给b;
  a=a^b;//相当于a^a^b;也就是把b值赋值给a;
  System.out.println("a="+a+",b="+b);
}
/*
  * 用第三方变量
  */
public static void temp(int a,int b){
  int temp=b;
  b=a;
  a=temp;
  System.out.println("a="+a+",b="+b);
}
}
作者: 尹晓乐    时间: 2012-9-2 07:11
int a = 10;
            int b = 5;
            int c = a;                   //声明一个中间变量
             a = b;
             b = c;
             Console.WriteLine("a="+a);
             Console.WriteLine("b="+b);
             Console.ReadKey();
作者: 尹晓乐    时间: 2012-9-2 07:19
            
感觉你们的怎么这么麻烦?

            int a = 10;
            int b = 5;
            Console.WriteLine("交换前:a={0},b={1}", a, b);
            int c = a;                   //声明一个中间变量
             a = b;
             b = c;
             Console.Write("交换后:a="+a);
             Console.WriteLine(",b="+  b);
             Console.ReadKey();
作者: 廖创发    时间: 2012-9-2 11:30
试过了,没有错误,可以正常运行,运算结果也正确。可能是你敲完代码后不小心按错了哪个键
作者: 李后量    时间: 2012-9-2 12:17
对啊,没什么问题啊,是不是没有复制过来的代码不小心多输入了个什么啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2