关于c语言数组的问题?知道他是表示几行几列的!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于c语言数组的问题?知道他是表示几行几列的!相关的知识,希望对你有一定的参考价值。
是个3*4的二维数组,即三行四列0,1,2,3,4,5,6,7,8,9,10,11
分别表示第一行到第三行的元素。即第一行元素值:a[0][0]=0,a[0][1]=1,a[0][2]=2,
a[0][3]=3,分别对应第一个花括号0,1,2,3,以此类推。
这是前人规定的,不是以我们意志转移的,这个是在赋初值啊! 参考技术A 两个都表示下标。num
循环控制变量。pos
已获得并采纳的随机数个数
数组个数控制是用
do
...
while(pos
<
7);
条件:下标小于7
for(num
=
0;num
<=
pos-1;num++)
这个用于检查num
评论
0
0
0
加载更多
游戏得有活动的场景:代码中多行多列的LinearLayout布局
既然是江湖,总得有一些可以到处跑的地儿。
咱是新手,那就排的简单点,排个几行几列的就完事了。至于到底排个几行几列的,这个倒也说不准。
得,那就不能直接在layout/xml里面直接画了。咋办?也好办,在activity里面通过代码生成布局就可以了。
activity_scene_fight.xml 如下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:id="@+id/layout_scene" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:layout_gravity="center_horizontal"/> <TextView android:id="@+id/t_fight_log" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout>
在activity中添加了一个子布局linearlayout:layout_scene和一个textview。layout_scene中将用于展示接下来由代码生成的各种场景的控件。
首先,得能生成单独一行的场景:
/** * @param clomuns 单行显示的场景数 * @return 返回单行显示的LinearLayout */ private LinearLayout rowsLayout(int clomuns){ LinearLayout rl= new LinearLayout(this); //设置LayoutParams LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); //设置为水平布局 rl.setOrientation(LinearLayout.HORIZONTAL); rl.setLayoutParams(lp); //循环添加场景button for (int j = 0; j < clomuns; j++) { Button b_scene = new Button(this); //设置场景按钮的名称 b_scene.setText("场景"+j); //绑定点击事件 b_scene.setOnClickListener(clickListener); //添加到创建的线性布局中 rl.addView(b_scene); } //添加到显示的父线性布局中 return rl; } /** * 点击事件 */ private OnClickListener clickListener = new OnClickListener() { @Override public void onClick(View v) { t_fight_log.append("你来到了"+((TextView)v).getText()+" "); } };
下一步,生成多行的场景控件,代码如下:
/** * @param sceneNums活动场景数量 * @return 返回自定义的场景布局 */ private LinearLayout sceneLayout(int sceneNums,int colnum){ LinearLayout sly=new LinearLayout(this); LayoutParams lp = new LayoutParams( LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); //设置为垂直布局 sly.setOrientation(LinearLayout.VERTICAL); sly.setLayoutParams(lp); int rows=sceneNums/colnum; int surplus=sceneNums%colnum; if (surplus==0) { //如果能够被整除 for (int i = 0; i < rows; i++) { sly.addView(rowsLayout(colnum)); } }else{ //如果不能够被整除 int i; for ( i=0 ; i < rows; i++) { sly.addView(rowsLayout(colnum)); } //创建最后剩下的,不足一行的布局 sly.addView(rowsLayout(surplus)); } return sly; }
FightSceneActivity.java代码如下:
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_scene_fight); //获取场景列表,生成页面各元素 fightSceneLayout=(LinearLayout)this.findViewById(R.id.layout_scene); fightSceneLayout.addView(sceneLayout(11,4)); t_fight_log=(TextView) findViewById(R.id.t_fight_log);
}
最终效果如下:
以上是关于关于c语言数组的问题?知道他是表示几行几列的!的主要内容,如果未能解决你的问题,请参考以下文章