| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 996 人关注过本帖
标题:[求助]用JAVA来实现一道C语言的题目
只看楼主 加入收藏
Estudy
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2007-8-31
收藏
 问题点数:0 回复次数:7 
[求助]用JAVA来实现一道C语言的题目
让程序员要求拥护输入一个大写字幕,使用潜逃循环产生像下面的金字塔图案:
    A
   ABA
  ABCBA
 ABCDCBA
ABCDEDCBA
这种图案要扩展到用户输入的字符,例如,上面这个图是输入‘E’后产生的,输入F产生的还不一样
------------------------------------------以上是原题---------------------------------------------------

从C语言版块转过来的

用C语言实现了,但是貌似如果用JAVA来做的话,对字符的处理不熟悉,一时不知道应该如何下手
貌似用JAVA来做这种题很麻烦啊,好象JAVA不能象C那样直接对ASCII码进行加加减减的运算啊,
而对于输入的字符的限制也不能象C那样用getch()那样方便啊
求解


[bo][un]Estudy[/un] 在 2008-11-20 14:59 的发言:[/bo]
这是论坛里面某人用C写的代码,不超过20行,
(我自己用的if语句和for循环写的接近50行)

#include <stdio.h>
int n = 0, N;
#define ___(_) putchar(_+'@')
int main(int _, char**__)
{
    return (_==1) ? !n && (N = getchar()),
           printf("%*c", N - n -'@', 'A'):
           ___(_), _<=n && (main(_+1, __),
           ___(_)), _==1 && (___(-54), 'A'
           + n < N && (n++, main(1, __)));
}


看完代码后仍然觉得用JAVA写比C简单的话,麻烦将代码贴上来让大家学习一下
反正代码"简单",也不会占用多少时间,小弟不胜感激;

如果只是想说些C语言跟JAVA作比较的争论又或者该题目简单还是复杂的话,拜托请不要回帖,让该帖子沉下去吧,当我没问,OK?

最后,谢谢合作


[[it] 本帖最后由 Estudy 于 2008-11-20 15:05 编辑 [/it]]
搜索更多相关主题的帖子: JAVA C语言 
2008-11-19 23:11
fangfangff
Rank: 1
等 级:新手上路
威 望:2
帖 子:479
专家分:0
注 册:2006-12-22
收藏
得分:0 
思想都是一样的
只要你会用C语言写
用JAVA肯定更简单了
收到的鲜花
  • Estudy2008-11-23 19:47 送鲜花  -1朵   附言:不要信口开河误导新手!!! 用JAVA写的东西不 ...

千里冰封---My Love 尽管相隔千里 , 依然拥有冰封
2008-11-20 09:23
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
收藏
得分:0 
其实用栈来实现还是挺简单的
2008-11-20 10:07
gujilanxue
Rank: 1
等 级:新手上路
威 望:1
帖 子:9
专家分:0
注 册:2007-9-6
收藏
得分:0 
JAVA比C更直接一点吧!heihei
收到的鲜花
  • Estudy2008-11-23 19:50 送鲜花  -1朵   附言:具体问题具体分析,不要人云亦云误导人
2008-11-20 10:18
Estudy
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2007-8-31
收藏
得分:0 
这是论坛里面某人用C写的代码,不超过20行,
(我自己用的if语句和for循环写的接近50行)

#include <stdio.h>
int n = 0, N;
#define ___(_) putchar(_+'@')
int main(int _, char**__)
{
    return (_==1) ? !n && (N = getchar()),
           printf("%*c", N - n -'@', 'A'):
           ___(_), _<=n && (main(_+1, __),
           ___(_)), _==1 && (___(-54), 'A'
           + n < N && (n++, main(1, __)));
}


看完代码后仍然觉得用JAVA写比C简单的话,麻烦将代码贴上来让大家学习一下
反正代码"简单",也不会占用多少时间,小弟不胜感激;

如果只是想说些C语言跟JAVA作比较的争论又或者该题目简单还是复杂的话,拜托请不要回帖,让该帖子沉下去吧,当我没问,OK?

最后,谢谢合作

用程序说话
2008-11-20 14:59
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
收藏
得分:0 
[bo][un]Estudy[/un] 在 2008-11-20 14:59 的发言:[/bo]

这是论坛里面某人用C写的代码,不超过20行,
(我自己用的if语句和for循环写的接近50行)

#include
int n = 0, N;
#define ___(_) putchar(_+'@')
int main(int _, char**__)
{
    return (_==1) ? !n && (N  ...


我只能说这个代码有违程序设计的原则……
2008-11-20 17:15
learnerboy
Rank: 2
等 级:论坛游民
帖 子:246
专家分:22
注 册:2007-11-11
收藏
得分:0 
我也是刚学JAVA,写的一般,还望高手们指教.......
import *;

public class Trangle {
    final static int START=(int)('A');
    public static void main(String[] args) throws IOException{
        char inputnumber = 0;
        System.out.print("请输入一个字符:");
        while(Character.isLetter(inputnumber=(char)System.in.read()))
        print((int)Character.toUpperCase(inputnumber));
    }
    public static void print(int inputnumber){
        int j=40;
        for(int i=START;i<=inputnumber;i++){
            for(int p=1;p<j;p++){
                System.out.print(" ");
            }
            for(int k=START;k<=i;k++)
                System.out.print((char)k);
            for(int t=i-1;t>=START;t--)
                System.out.print((char)t);
            System.out.println();
            j--;
        }
    }
}
收到的鲜花
  • Estudy2008-11-23 19:52 送鲜花  1朵   附言:虽然程序有点问题,不过感谢参与
2008-11-20 17:28
小応
Rank: 3Rank: 3
来 自:安徽大学
等 级:新手上路
威 望:8
帖 子:103
专家分:0
注 册:2008-10-16
收藏
得分:0 
参考一下
这个问题当然用C写更简单了
2008-11-21 12:38
快速回复:[求助]用JAVA来实现一道C语言的题目
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013371 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved