初始化java 布尔数组组的问题

C和C++中字符数组和布尔型bool问题和Java输入
在这次做ACM北京大学在线系统的1989题时,遇到了很多问题。
首先,是C和C++数组清零的问题。可以使用memset(v,0,sizeof(v));将数组在初始化,此处因为我们要用的是bool型数组,所以,要清空。
在就是C语言中没有布尔型bool,所以,他的判断是0就是假false,其他的就是真
在就是C++语言中布尔型,定义了,要初始化,可以初始化为true,也可以初始化为false.不然,就不能编译了。C++中布尔型初始化还是可以同样使用memset(v,true,sizeof(v));初始化为
最让人头疼的是Java中数组的输入,和其他的输入问题:
下面这个小程序可以输入一组数据。但是是以ASCII码形式输出的。弄了很久也没有找到怎么转换,强行转换,会掉一些数据的,比如,有5个数,但是你强行转换后,输出只有前三个数了。
Java中输入数据一个一个的输,要有提示,是很好输的,可是连续输入数据,还真的有点难。希望大家给点建议。
import java.io.*;public class test1 { public static void main(String []args) throws IOException {
int[] my = new int[5];
BufferedInputStream br = new BufferedInputStream(System.in);
for(int i=0;i&=my.length-1;i++)
my[i]=br.read();}
for(int j=0;j&=my.length-1;j++)
System.out.println(my[j]);
/*输入一个数组,比如输入为1 2 3 4 5 *但是输出是ASCII码。为49 32 50 32 51. *还不会将其转换为Int型 * **/
没有更多推荐了,
不良信息举报
举报内容:
C和C++中字符数组和布尔型bool问题和Java输入
举报原因:
原文地址:
原因补充:
最多只允许输入30个字
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!C++中怎么把一个bool型的数组初始化?_百度知道
C++中怎么把一个bool型的数组初始化?
我这样写:bool Array[100]={1};结果系统只把第一个元素初始化为了1,其它元素都是0,这是为什么啊?那应该怎么把数组初始化啊?
我有更好的答案
方法如下:1.输入memset(Array,0,sizeof(Array));2.头文件是#include&memory.h&;最好输入meboolmset(Array,false,sizeof(Array));全部初始化为false。3.bool定义的变量不是false就是true而用0和1不好。
  方法如下:  1.输入memset(Array,0,sizeof(Array));
2.头文件是#include&memory.h&;最好输入meboolmset(Array,false,sizeof(Array));全部初始化为false。  3.bool定义的变量不是false就是true而用0和1不好。
memset(Array,0,sizeof(Array));头文件是#include&memory.h&;按照常理说bool定义的变量不是false就是true用0 和1不太好吧所以我建议memset(Array,false,sizeof(Array));全部初始化为false
本回答被提问者采纳
首先,是C和C++数组清零的问题。可以使用memset(v,0,sizeof(v));将数组在初始化,此处因为我们要用的是bool型数组,所以,要清空。在就是C语言中没有布尔型bool,所以,他的判断是0就是假false,其他的就是真在就是C++语言中布尔型,定义了,要初始化,可以初始化为true,也可以初始化为false.不然,就不能编译了。C++中布尔型初始化还是可以同样使用memset(v,true,sizeof(v));初始化为最让人头疼的是Java中数组的输入,和其他的输入问题:下面这个小程序可以输入一组数据。但是是以ASCII码形式输出的。弄了很久也没有找到怎么转换,强行转换,会掉一些数据的,比如,有5个数,但是你强行转换后,输出只有前三个数了。Java中输入数据一个一个的输,要有提示,是很好输的,可是连续输入数据,还真的有点难。希望大家给点建议。import java.io.*;public class test1 { public static void main(String []args) throws IOException {
int[] my = new int[5];
BufferedInputStream br = new BufferedInputStream(System.in);
for(int i=0;i&=my.length-1;i++)
my[i]=br.read();}
for(int j=0;j&=my.length-1;j++)
System.out.println(my[j]);
} }}/*输入一个数组,比如输入为1 2 3 4 5 *但是输出是ASCII码。为49 32 50 32 51. *还不会将其转换为Int型 * **/
用个for语句就可以了,笨的方法就是{1,1,.....}写上一百个。这样写就只有一个值了。
有两种方法,一种是用for语句 把数组遍历赋值,
另一种是用memset的方法,需要包含头文件stirng.h或者memory.h
具体写法看楼上几位好了。
#include &vector&vector&int& Array(100,1);
其他4条回答
为您推荐:
其他类似问题
bool的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。c++如何定义布尔型数组使其初始值为true?_百度知道
c++如何定义布尔型数组使其初始值为true?
我有更好的答案
这里以一维数组为例做解答, 方法一:const int ARR_SIZE = 5;
假设数组有5个布尔值bool *var[] = new bool[ARR_SIZE];for (int i = 0; i & ARR_SIZE; i++) {
// 设置布尔型数组的初始值为true
var[i] =}// 在这里写你的代码delete[] 方法二:bool var[] = {true, true, true, true, true};// 在这里写你的代码
采纳率:54%
一个数组,缺省值是0,在VB中,规定0就是False。除了遍历和内存复制,没有其它方法。可以反过来考虑。比如,一个布尔变量Not_Running,初始值应该=True,某个过程执行时置为False。If Not_Running Then......End If完全可以设置布尔变量Running:初始值应该=False,某个过程执行时置为TrueIf Not Running Then......End If
本回答被网友采纳
#define MAX 10000bool a[MAX];memset(a,true,sizeof(bool));memset(a,true,MAX);也对
本回答被提问者采纳
假设你的数组名为Array,则方法如下:1.输入meboolmset(Array,false,sizeof(Array))或者memset(Array,0,sizeof(Array));;将其全部初始化为false.2.按照需要对数组元素需要改正的进行变更为ture的操作。注意:需要包含头文件#include&memory.h&
bool a[10]= {true};这样不行吗
学好函数我想就没那么难了吧
定义类然后构造函数重载?
vector&bool& b(10,true);
其他9条回答
为您推荐:
布尔型的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 java 布尔数组 的文章

 

随机推荐