两个差不多的东西,看你自己的兴趣了。
创新互联网站建设公司一直秉承“诚信做人,踏实做事”的原则,不欺瞒客户,是我们最起码的底线! 以服务为基础,以质量求生存,以技术求发展,成交一个客户多一个朋友!专注中小微企业官网定制,成都网站设计、做网站,塑造企业网络形象打造互联网企业效应。
个人觉得微软的竞争力大过SUN
不管学哪样,XML是必须要掌握的
关于.NET技术与Sun公司的Java2企业版(J2EETM)相比较,许多客户都想了解Microsoft公司的观点。由于以下的几个原因,.NET和JEE的比较有点棘手:
1) 一般来说,Windows .NET Framework是Microsoft的Windows系统中经过精心定义的技术部分,而J2EE则是一个书面的协议。如果不局限于学术方面的讨论,换句话说,就是在几个应用平台上讨论这个话题的商业价值,那么仅仅比较J2EE和一个实际应用的工具是没有意义的。
这样实际应用的工具如:IBM公司的WebSphere应用服务,BEA的WebLogic服务或是其它类似的应用服务。
要想得到令人满意的分析,只有进行产品之间的比较,例如比较开发效率。使用J2EE,开发者需要创建4个组件来建立一个单一的EJB。表面上看来,这只不过是为开发效率付出的一点代价而已。但是Java的一些开发工具隐藏了一些开发技巧,降低了效率。另一个例子,J2EE的部署体系十分复杂难解,类嵌入 JAR,而JAR嵌入WAR,WAR又嵌入EAR。但是在一定程度上,有些工具能自动完成部署进程。上述情况导致决定一个应用服务商业价值的关键因素开发效率因不同的销售商而有差异,这主要取决于开发工具的效率。
2) 关于“J2EE全明星队伍”的问题。当比较.NET和J2EE所有组件的集合时,这个问题就产生了。例如,分析者考虑开发效率时可能碰到下列问题,A公司的产品, B公司的应用服务程序, C公司的安全规则, D公司简便安装, E公司决定价格。所有这些都可能和J2EE有关。集合上述这些特征属性,J2EE工具看起来还行:价格便宜,安装简便,速度快,安全性高,有超高速缓存,并且有好的开发工具,等等。但这些都无关痛痒?因为不可能同时获得所有的这些特性。事实上,一次只能得到一个准确的特性。因为这些产品来自不同的公司,它们不可能合作无间。例如,IBM公司的工具不能和BEA公司的WebLogic服务同时工作,因为后者是用的Oracle公司的缓存引擎,而Oracle 的引擎不能用Iona的价格获得,等等诸如此类。人们有时候会误将“J2EE的所有特性集合”作为比较的基础;但这是不合理的。客户需要的是知道一对一,产品对产品的比较。
3)比较.NET和J2EE而忽视其它应用平台是十分重要的。J2EE是仅关注应用程序服务器的规范。但是绝大多数客户对下列这些感兴趣:应用程序服务器,端口,商业服务器和分析工具,数据库,分离数据和流动性,信息代理,应用程序集合,容量管理,智能客户端等等。作为对客户要求的回应,这些因素应该统一工作,所有的主要销售商应该推行整合的平台。例如Microsoft的平台(包括Windows系统的客户端和服务器,Windows .NET Framework,Visual Studio.NET Framework,和Microsoft企业服务器);BEA的WebLogic平台;IBM公司的WebSphere平台;Oracle的平台;还有 Sun公司的一个平台。将精力集中在这些平台的一个难题(应用服务器)上将会导致一个类似“树林和森林”关系的问题。这样的一个比方是合适的,但是它应该被考虑到一个更广阔平台的一部分。
从Microsoft的角度来看,和那些不常见的警告相比,这些是Windows .NET Framework和基于J2EE的产品的关键性的异同点。
相似点
1) Windows .NET Framework和Java都有一个受控的运行时环境,它不但将源代码转换成中间语言,而且将这些中间语言编译成本地的可执行代码。两个环境都支持碎片整理、动态类加载和异常处理等。
2) .NET和Java都倡导和支持基于组件的设计、多态性、继承和接口等,也提供基础类库来执行I/O、XML处理、带有连接池的数据库接入、文本操作与网页脚本编写等。
3) 两者都经过特有的销售商的产品进行发布。J2EE规范自己是“销售中立”的,但实际上那些遵从规范的产品都必须实现规范外的特性,例如管理特性或是展开特性。因此,这些产品必须是对应
//第一题的答案:
import java.util.Scanner;
public class test {
public static void main(String[] args)
{
System.out.println("输入购买金额:");
Scanner input=new Scanner(System.in);
double a=input.nextDouble();
System.out.println("输入顾客类型(会员或普通):");
String b=input.next();
if(b=="会员")
{
if(a=100)
{
a=a*0.8;
System.out.println("需付款:"+a);
}
else
{
System.out.println("需付款:"+a);
}
}
if(b=="普通")
{
if(a=200)
{
a=a*0.75;
System.out.println("需付款:"+a);
}
else
{
System.out.println("需付款:"+a);
}
}
}
}
//下面是第二题答案:
public class test {
public static void main(String[] args)
{
for(int i = 0; i 3; i++)
{
for(int x = i + 1; x 3; x++)
{
System.out.print(" ");
}
for(int y = 0; y (i + 1) * 2 - 1; y++)
{
System.out.print("*");
}
System.out.println();
}
for(int i = 0; i 4; i++)
{
for(int x = 0; x i; x++)
{
System.out.print(" ");
}
for(int y = i; y 2 * 4 - i - 1; y++)
{
System.out.print("*");
}
System.out.println();
}
}
}
class Student{
String name;
String id;
void display(){
System.out.println("Name:"+name+" ID :"+id);
}
public static void main(String args[]){
Student student=new Student();//原始代码学生对象创建错误
student.name="Alisha";
student.id="C001";
student.display();
}
}
如果不是楼主复制粘贴错误的话,应该勉强选D,编译跟本通不过,student初始化错误
如果改为上述代码,就选B
楼主的perm函数存在问题。
因为你的参数是一个数组:list,在JAVA中,数组的传递是传的引用,这样的话,每次你的那个list在顺序发生变化的时候,其List中已经添加的所有数据都会发生变化,举个例子:
假设最开始为两个数字:1,2 x进行数组的添加后,为1,2;然后修改了数字顺序为2,1;这个时候x里头的数组顺序也变化为2,1;如果再添加,则变为:2,1;2,1;两个一样的内容。
因此就无法达到楼主想要的东西了。