A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郭佳佳 中级黑马   /  2012-8-29 08:34  /  3792 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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”无效       

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

7 个回复

倒序浏览
本帖最后由 许庭洲 于 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. 分析报错原因,在监视窗口会提示报错内容,修改报错代码即可。
回复 使用道具 举报
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, 下载次数: 76)

未命名.jpg

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 黑马王建伟 于 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);
}
}

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

回复 使用道具 举报
int a = 10;
            int b = 5;
            int c = a;                   //声明一个中间变量
             a = b;
             b = c;
             Console.WriteLine("a="+a);
             Console.WriteLine("b="+b);
             Console.ReadKey();
回复 使用道具 举报
            
感觉你们的怎么这么麻烦?

            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();
回复 使用道具 举报
试过了,没有错误,可以正常运行,运算结果也正确。可能是你敲完代码后不小心按错了哪个键
回复 使用道具 举报
对啊,没什么问题啊,是不是没有复制过来的代码不小心多输入了个什么啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马